Quantcast
Channel: GUJ - Tópicos com a tag hibernate
Viewing all 759 articles
Browse latest View live

Update tabela de estoque - Hibernate JPA

$
0
0

@marcospaulo.suporte escreveu:

Boa noite.
Estou com uma dúvida que talvez seja simples. Estou usando Hibernate

Posso uma classe de Pedidos que é relacionada com uma de itens

@OneToMany(mappedBy = "pedido", cascade = CascadeType.ALL, orphanRemoval = true,fetch = FetchType.EAGER) 
private List<ItemPedido> itens = new ArrayList<>();

Minha classe itens do pedido é relacionada com a classe de produtos:

    @Basic
@ManyToOne 
@JoinColumn(name = "prd_codigo")
@ForeignKey(name = "produto_item_pedido_fk")
private Produto produto;

Dentro da classe de produto eu guardo o estoque do mesmo.

Ao fazer um novo pedido, insiro itens e consigo ver os estoques normalmente.
Ao gravar o pedido eu não altero o estoque.

Ao mudar o ‘status’ do pedido, eu dou baixa nos itens por meio de um método na classe de produto. Ou seja, percorro os itens do pedido, vejo se tem estoque e chamo a função conforme navego nos itens.

public void baixarEstoque(Integer quantidade) throws Exception {
	if (this.getPrd_codigo() != null) {
		System.out.println("***********************************************************");
		System.out.println("Baixando estoque do produto.: " + this.getPrd_codigo_proprio());
		int novaQuantidade = this.getPrd_estoque() - quantidade;
		System.out.println("Estoque atual.: " + this.getPrd_estoque() + " - Qtde a ser baixada: " + quantidade +"\n Resultado: "+novaQuantidade);
		// Evitar com estoque negativo
		if (novaQuantidade < 0) {
			FacesContext.getCurrentInstance().addMessage("",
						new FacesMessage(FacesMessage.SEVERITY_ERROR, "Não há disponibilidade no estoque de " + quantidade + " itens do produto " + this.getPrd_codigo_proprio() + ".", ""));

			throw new IllegalArgumentException("Não há disponibilidade no estoque de " + quantidade + " itens do produto " + this.getPrd_codigo_proprio() + ".");
		} else {
			setPrd_estoque(novaQuantidade);
		}
	} else {
		System.out.println("Produto para baixar estoque invalido.");
	}
}

A minha dúvida é: Parte de pedidos e itens está normal, porém, ele não ‘comitta’ no banco de dados a alteração de estoque.

Tenho que usar alguma anotação? no método ‘baixarEstoque’ usei o ‘@Transient’, porém não tive sucesso.

Obrigado a todos.

Mensagens: 1

Participantes: 1

Ler tópico completo


SQLnativo em java

$
0
0

@Victtor_Freitas escreveu:

Amigos, meu problema é o seguinte. Estou executando uma query com sqlnativo e não estou conseguindo. (Minha query roda normal no banco)

public List<NotaEmpresas> buscarPorData(String dataInicioFormatada, String dataFimFormatada) {
		List<NotaEmpresas> listNota = null;
		try {
			Query sqlQuery = em.createNativeQuery("select "
					+ "infnfe.cnpj_emitente emit_cnpj, "
					+ "infnfe.id_infnfe as chave_nfce, "
					+ "ide.nnf as numero_nfce,"
					+ "ide.serie as serie_nfce,"
					+ "ide.tpNF as tpNF_nfce,"
					+ "ide.tpEmis  as tpEmis_nfce,"
					+ "ide.dhemi as dhEmi_nfce,"
					+ "icmstot.VNF AS total_vNF,"
					+ "dest.CPF +  dest.CNPJ +  dest.ID_ESTRANGEIRO as dest"
					+ "from SEFAZ_NFC.TB_INFNFE infnfe"
					+ "left join SEFAZ_NFC.TB_IDE ide on ide.ID_IDE = infnfe.ID_IDE"
					+ "left join SEFAZ_NFC.TB_TOTAL total on infnfe.ID_TOTAL = total.ID_TOTAL"
					+ "left join SEFAZ_NFC.TB_ICMSTOT icmstot on icmstot.ID_ICMSTOT = total.ID_ICMSTOT"
					+ "left join SEFAZ_NFC.TB_dest dest on infnfe.id_dest = dest.id_dest"
					+ "where ide.dhemi between TO_DATE('2018/02/01', 'yyyy/mm/dd') and TO_DATE('2018/02/05', 'yyyy/mm/dd');", NotaEmpresas.class);
			if (sqlQuery==null) {
				System.out.println("SQL NULOOOOOOOOOOOOOOOOOOOOOOOOO");
			}
//			sqlQuery.setParameter("dataInicial", dataInicioFormatada);
//			sqlQuery.setParameter("dataFinal", dataFimFormatada);
			
			listNota = (List<NotaEmpresas>) sqlQuery.getResultList();
		} catch (NoResultException ex) {
			System.out.println("Lista nota não encontrada!");
		}
		return listNota;

	}

Erro:

ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /auditor-nfce/pages/auditor/consulta.jsf: javax.servlet.ServletException: javax.el.ELException: java.lang.NullPointerException
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:228) [myfaces-bundle-2.2.0.jar:2.2.0]
	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:130) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
	at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:100) [primefaces-6.0.jar:6.0]
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]

Final do erro......

Caused by: java.lang.NullPointerException
	at br.com.nfce.services.NfceService.buscarPorData(NfceService.java:27) [auditor-nfce-persistence-0.0.1-SNAPSHOT.jar:]
	at br.com.nfce.controller.externo.ConsultaController.buscarPorData(ConsultaController.java:77) [classes:]
	at br.com.nfce.controller.externo.ConsultaController.consulta(ConsultaController.java:66) [classes:]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_172]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.8.0_172]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.8.0_172]
	at java.lang.reflect.Method.invoke(Unknown Source) [rt.jar:1.8.0_172]
	at com.sun.el.parser.AstValue.invoke(AstValue.java:292) [javax.el-3.0.1-b05.jar:]
	... 77 more

Mensagens: 13

Participantes: 2

Ler tópico completo

Perdidão com o Angular 2 em diante

$
0
0

@alexpassos escreveu:

Olá

Tenho uma aplicação web com Java + PrimeFaces + Hibernate.

Estou querendo migrar para Angular 2. Mas fiquei perdido, sem entender.

Vi um vídeo no youtube, a pessoa fazendo com node.js, typescript. E onde entra o java com as classes de comunicação do banco de dados?

Alguém tem link de um CRUD ou me dar uma explicação?

Mensagens: 6

Participantes: 5

Ler tópico completo

[RESOLVIDO] Dúvida com Java e Jpa

$
0
0

@Christopherson_Carva escreveu:

Estou com dúvidas quando utilizo Jpa com Java. É meu primeiro tópico aqui. :wink:

Não entendo porque dá erro quando utilizo este código:

public class testeconexao {

	public static void main(String[] args) {

		EntityManagerFactory emf = Persistence.createEntityManagerFactory("EletricaPU");
		EntityManager em = emf.createEntityManager();

		Projeto projeto = new Projeto();
		projeto.setNome("Chris");
		projeto.setAutor("projeto");
		projeto.setDescricao("teste");
		projeto.setData(DataUtil.Atual());

		em.getTransaction().begin();
		em.persist(projeto);
		em.getTransaction().commit();
		
		Projeto projeto2 = projeto.clonarSemID();

		em.getTransaction().begin();
		em.persist(projeto2);
		em.getTransaction().commit();
	}
}

Exception in thread “main” javax.persistence.RollbackException: Error while committing the transaction
at org.hibernate.jpa.internal.TransactionImpl.commit(TransactionImpl.java:86)
at teste.testeconexao.main(testeconexao.java:33)
Caused by: javax.persistence.PersistenceException: org.hibernate.HibernateException: identifier of an instance of br.aplicacao.eletrica.modelo.projeto.Projeto was altered from 1 to null


	@Override
	public Projeto clonarSemID() {
		Projeto p = copiar();
		p.setId(null);
		return this;
	}

	@Override
	public Projeto copiar() {

		Projeto p = new Projeto();

		p.setId(id);
		p.setNome(nome);
		p.setAutor(autor);
		p.setData(data);
		p.setDescricao(descricao);
		for (Fonte f : fontes) {
			p.fontes.add(f);
		}
		return this;
	}

public void salva(T obj) {
		try {
			entityManager.getTransaction().begin();
			if (obj.getId() == null) {
				entityManager.persist(obj);
			} else {
				entityManager.merge(obj);
			}
			entityManager.getTransaction().commit();
		} catch (Exception e) {
			System.out.println("NÃO SALVOU!!: ");
			e.printStackTrace();
			entityManager.getTransaction().rollback();
		}
	}

Mensagens: 12

Participantes: 3

Ler tópico completo

Problema com locale e Moneta no GC

$
0
0

@Narclk escreveu:

Boa noite, eu tenho um projeto usando springboot, hibernate e thymeleaf como base, entre as dependências eu tenho o moneta versão 1.1 para trabalhar com valores no meu projeto. Pois bem, localmente usando meu windows 10, aplicando uma mascara em um input do tipo texto, e adicionando um converter, meu valores são gravados e recuperados no formato BRL, ou seja, se eu digitar na view 25,30 eu recupero em outra view como R$25,30. Agora depois que mando o projeto pro Google Computer, onde o servidor é linux, os mesmo 25,30, passam a ser BRL2,530.00.

Pensei que apenas alterando o locale do servidor resolveria, mas não resolveu, atualmente está hospedado em uma instância do google compute, com o disco padrão, e o locale atual é:

LANG=pt_BR.UTF-8 LANGUAGE= LC_CTYPE=“pt_BR.UTF-8” LC_NUMERIC=“pt_BR.UTF-8” LC_TIME=“pt_BR.UTF-8” LC_COLLATE=“pt_BR.UTF-8” LC_MONETARY=“pt_BR.UTF-8” LC_MESSAGES=“pt_BR.UTF-8” LC_PAPER=“pt_BR.UTF-8” LC_NAME=“pt_BR.UTF-8” LC_ADDRESS=“pt_BR.UTF-8” LC_TELEPHONE=“pt_BR.UTF-8” LC_MEASUREMENT=“pt_BR.UTF-8” LC_IDENTIFICATION=“pt_BR.UTF-8” LC_ALL=

A base de dados tem como tipo para o valor setado como decimal(19,2), onde as tabelas são geradas pelo hibernate.

Por favor se alguém já passou por isso, ou sabe como resolver, é importante pra mim.

Agradeço á quem puder um pouco de sua atenção para me ajudar com esse empecilho.

Mensagens: 1

Participantes: 1

Ler tópico completo

Consulta nao retrorna todos os valores existente

$
0
0

@Messiasfernandes escreveu:

Ola´pessoal tenho um trabalho faculdade pra entregar nao consigo resolver
tenho uma entidade mapeada com hibernate sempre que insiro um dado ou altero ou deleto salva em outra tabela chamada auditoria mapeada com hibernate porem so insere dados atraves da trigger
esta e a função
public List pesquisarLog() {
Session session = HibernateUtil.geSessionFactory().openSession();
List atividadelog = null;
StringBuilder sql = new StringBuilder();
Auditoria aud =new Auditoria();

	Query consulta = session.createQuery("select   auditoria from Auditoria auditoria " );

		atividadelog = consulta.list();


	return atividadelog;

}

aqui dados que função traz

Hibernate: select auditoria0_.usariocodigo as usarioco1_3_, auditoria0_.antes as antes2_3_, auditoria0_.chave as chave3_3_, auditoria0_.dataoperacao as dataoper4_3_, auditoria0_.depois as depois5_3_, auditoria0_.tipooperacao as tipooper6_3_ from auditoria auditoria0_
[Auditoria [usariocodigo=root@localhost,
tipooperacao=INSERÇÃO, dataoperacao=2018-08-03 22:24:44.0, chave=1, ante=null, depois=atividade1], Auditoria [usariocodigo=root@localhost,
tipooperacao=INSERÇÃO, dataoperacao=2018-08-03 22:24:44.0, chave=1, ante=null, depois=atividade1], Auditoria [usariocodigo=root@localhost,
tipooperacao=INSERÇÃO, dataoperacao=2018-08-03 22:24:44.0, chave=1, ante=null, depois=atividade1], Auditoria [usariocodigo=root@localhost,
tipooperacao=INSERÇÃO, dataoperacao=2018-08-03 22:24:44.0, chave=1, ante=null, depois=atividade1], Auditoria [usariocodigo=root@localhost,
tipooperacao=INSERÇÃO, dataoperacao=2018-08-03 22:24:44.0, chave=1, ante=null, depois=atividade1], Auditoria [usariocodigo=root@localhost,
tipooperacao=INSERÇÃO, dataoperacao=2018-08-03 22:24:44.0, chave=1, ante=null, depois=atividade1], Auditoria [usariocodigo=root@localhost,
tipooperacao=INSERÇÃO, dataoperacao=2018-08-03 22:24:44.0, chave=1, ante=null, depois=atividade1], Auditoria [usariocodigo=root@localhost,
tipooperacao=INSERÇÃO, dataoperacao=2018-08-03 22:24:44.0, chave=1, ante=null, depois=atividade1], Auditoria [usariocodigo=root@localhost,
tipooperacao=INSERÇÃO, dataoperacao=2018-08-03 22:24:44.0, chave=1, ante=null, depois=atividade1], Auditoria [usariocodigo=root@localhost,
tipooperacao=INSERÇÃO, dataoperacao=2018-08-03 22:24:44.0, chave=1, ante=null, depois=atividade1]]

aqui como os dados estao no banco

sariocodigo antes chave dataoperacao depois tipooperacao


root@localhost (NULL) 1 2018-08-03 22:24:44 atividade1 INSERÇÃO
root@localhost (NULL) 1 2018-08-03 22:26:25 atividade2 INSERÇÃO
root@localhost (NULL) 1 2018-08-03 22:36:56 atividade3 INSERÇÃO
root@localhost atividade1 1 2018-08-03 22:37:23 (NULL) DELETAR
root@localhost atividade2 1 2018-08-03 22:41:01 atividade2 ALTERAR
root@localhost atividade3 1 2018-08-03 22:41:09 atividade3 ALTERAR
root@localhost atividade3 1 2018-08-03 22:52:12 atividade3 ALTERAR
root@localhost atividade2 1 2018-08-03 22:52:16 atividade2 ALTERAR
root@localhost atividade2 1 2018-08-03 22:55:28 (NULL) DELETAR
root@localhost atividade3 1 2018-08-03 22:55:28 (NULL) DELETAR

Mensagens: 1

Participantes: 1

Ler tópico completo

Data retorna do banco modificada

$
0
0

@shinobilio escreveu:

Boa tarde senhores,

tenho uma aplicação spring + hibernate + mysql

Estou passando uma dificuldade em solucionar o motivo ao qual a data retorna do banco com um dia a menos, sendo que no banco a data é gravada corretamente.

minha classe está assim:

@Temporal(TemporalType.DATE)
@Column(columnDefinition="DATE", length=10)
@NotNull(message="Informe a data de check-in.")
@DateTimeFormat(pattern="dd/MM/yyyy")
private Date data_checkin;

Exemplo:

Até ai tudo bem, após salvar no banco uma data qualquer por exemplo: 07/08/2018
quando mando listar o valor, o campo vem 06/08/2018, sendo que em momento algum faço modificação na data.

Usando o log4j e show_sql o valor esta vendi já assim, antes mesmo de mostrar na view, e no banco a data é gravada corretamente: 07/08/2018.

Alguém já passou por isso? agradeço a quem pude ajudar.

Mensagens: 1

Participantes: 1

Ler tópico completo

JPA retorno ordenado do lado Many de uma entidade @OneToMany usando @OrderBy

$
0
0

@Murilo_Medeiros escreveu:

Bom dia á todos. Tenho a seguinte entidade Cliente que possui Pedidos, a relação entre clientes e pedidos está mapeada Cliente @OneToMany e Pedidos @ManyToOne. O que preciso é que a lista de Pedidos dos Clientes venha ordenada por “Pedido.id”… Apos algumas pesquisas descobri que devo usar @OrderBy, o problema é que nao estou sabendo utilizá-lo! Segue o código

@Entity
@Table
public class Cliente implements Serializable{
	
	private static final long serialVersionUID = 1L;
	
	@Id
	@Email
	@NotEmpty
	private String email;
	
	@OneToMany(mappedBy ="cliente",cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY)
	@OrderBy("cliente.Pedido.id ASC")
	private List<Pedido> pedidos;

@Entity
@Table
public class Pedido implements Serializable{
	
	private static final long serialVersionUID = 1L;
	
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "id_pedido")
	private Long id;
	
	@ManyToOne(fetch = FetchType.LAZY)
	private Cliente cliente;

Visto isso, como deve ser minha anotação @OrderBy para que quando eu puxe os clientes, os pedidos venham ordenados por id?

Obrigado desde já!

Mensagens: 2

Participantes: 2

Ler tópico completo


Hibernate envers não funciona

$
0
0

@Wilian_da_Silva_Oliv escreveu:

Estou com um problema para usar o enver, já tenho uma tabela_aud usada no antigo sistema, quando atualizei para o novo ele não está funcionando.

@Audited
@Entity
@Table( name = "USUARIO" )
@SequenceGenerator( name = "SEQ_USUARIO", sequenceName = "SEQ_USUARIO", initialValue = 1, allocationSize = 1 )
@XmlRootElement( name = "usuario" )
public class Usuario implements Serializable {

	private static final long serialVersionUID = -8589145118614631343L;

	@Id
	@GeneratedValue( generator = "SEQ_USUARIO" )
	@Column( name = "PK_ID_USUARIO" )
	@XmlElement( name = "id" )
	private Long id;

	@Column( name = "DC_CARGO" )
	@XmlElement( name = "cargo" )
	private String dcCargo;

	@Column( name = "DC_EMAIL" )
	@XmlElement( name = "email" )
	private String dcEmail;

	@Column( name = "FL_DYNAMICS" )
	private boolean flEnviarDynamics;



@Bean
@Autowired
public EntityManagerFactory entityManagerFactory( DataSource dataSource ) {
	HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
	vendorAdapter.setGenerateDdl( true );

	Properties jpaProperties = new Properties();
	jpaProperties.setProperty( "org.hibernate.envers.revision_field_name", "CD_REVISAO" );
	jpaProperties.setProperty( "org.hibernate.envers.revision_type_field_name", "CD_TIPO_REVISAO" );
	jpaProperties.setProperty( "org.hibernate.envers.audit_table_prefix", "" );


	jpaProperties.setProperty( "hibernate.dialect", "org.hibernate.dialect.Oracle10gDialect" );
	jpaProperties.setProperty( "hibernate.show_sql", "true" );
	jpaProperties.setProperty( "hibernate.format_sql", "true" );
	jpaProperties.setProperty( "hibernate.hbm2ddl.auto", "none" );
}

Problema que ele não esta salvando no banco de dados,
Dúvida precisa ter todos os campos da tabela?
Preciso informar mais alguma coisa

Mensagens: 1

Participantes: 1

Ler tópico completo

[RESOLVIDO]Hibernate: could not resolve property

$
0
0

@zucchi escreveu:

Olá amigos,

Estou tendo uma dificuldade ao executar uma query com hibernate, segue abaixo a descrição do problema.

Tenho a classe ConsultaRapidaPrdutoPdvCateg

@NoArgsConstructor
@AllArgsConstructor
@Data
@EqualsAndHashCode(callSuper = false)
@Entity
@Table(name="CNSULT_RAPDA_PRDUTO_PDV_CATEG")
public class ConsultaRapidaPrdutoPdvCateg {
	
	@EmbeddedId
	private ConsultaRapidaPrdutoPdvCategKey id;
	
    @Column(name="CRPC_FLG_ATIVO")
    private String crpcFlgAtivo;

    @Column(name="CRPC_NOM")
    private String crpcNom;

    @Column(name="CRPC_NUM_ORDEM")
    private Integer crpcNumOrdem;

}

E a chave dela ConsultaRapidaPrdutoPdvCategKey

@Data
@AllArgsConstructor
@NoArgsConstructor
@Embeddable
public class ConsultaRapidaPrdutoPdvCategKey implements Serializable {

	private static final long serialVersionUID = 1L;

	@Column(name="crpc_num_seq")
    private Long crpcNumSeq;
}

Tenho a classe ConsultaRapidaPrdutoPdv

@Data 
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@Entity
@Table(name="cnsult_rapda_prduto_pdv")
public class ConsultaRapidaPrdutoPdv {

	@EmbeddedId
	private ConsultaRapidaPrdutoPdvKey id;
	
}

E a chave dela ConsultaRapidaPrdutoPdvKey

@Data
@AllArgsConstructor
@NoArgsConstructor
@Embeddable
public class ConsultaRapidaPrdutoPdvKey implements Serializable {

	private static final long serialVersionUID = 1L;

	@Column(name="crpc_num_seq")
    private Integer crpcNumSeq;

    @Column(name="pr_cod")
    private Integer prCod;
}

Utilizando o hibernate eu tento executar a seguinte query:

public List<ConsultaRapidaPrdutoPdvCateg> getCateg() {
        StringBuilder sb = new StringBuilder();
        sb.append("   FROM  ConsultaRapidaPrdutoPdvCateg c ");
        sb.append("   WHERE  c.crpcFlgAtivo = 'S' ");
        sb.append("     AND  EXISTS (SELECT  1 ");
        sb.append("                    FROM  ConsultaRapidaPrdutoPdv q ");
        sb.append("                   WHERE  q.crpcNumSeq = c.crpcNumSeq) ");
        
        Query query = getEntityManagerOff().createQuery(sb.toString());
        List<ConsultaRapidaPrdutoPdvCateg> resultList = query.getResultList();
        
		return resultList;
    }

Mas me retorna o erro abaixo:

org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.QueryException: could not resolve property: crpcNumSeq of: br.com.senior.frentecaixa.persistence.produto.ConsultaRapidaPrdutoPdv [   FROM  br.com.senior.frentecaixa.persistence.produto.ConsultaRapidaPrdutoPdvCateg c    WHERE  c.crpcFlgAtivo = 'S'      AND  EXISTS (SELECT  1                     FROM  br.com.senior.frentecaixa.persistence.produto.ConsultaRapidaPrdutoPdv q                    WHERE  q.crpcNumSeq = c.crpcNumSeq) ]; nested exception is java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: crpcNumSeq of: br.com.senior.frentecaixa.persistence.produto.ConsultaRapidaPrdutoPdv [   FROM  br.com.senior.frentecaixa.persistence.produto.ConsultaRapidaPrdutoPdvCateg c    WHERE  c.crpcFlgAtivo = 'S'      AND  EXISTS (SELECT  1                     FROM  br.com.senior.frentecaixa.persistence.produto.ConsultaRapidaPrdutoPdv q                    WHERE  q.crpcNumSeq = c.crpcNumSeq) ]
	at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:367) ~[spring-orm-5.0.8.RELEASE.jar:5.0.8.RELEASE]
	at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:227) ~[spring-orm-5.0.8.RELEASE.jar:5.0.8.RELEASE]
	at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:527) ~[spring-orm-5.0.8.RELEASE.jar:5.0.8.RELEASE]
	at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.0.8.RELEASE.jar:5.0.8.RELEASE]
	at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.0.8.RELEASE.jar:5.0.8.RELEASE]
	at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:153) ~[spring-tx-5.0.8.RELEASE.jar:5.0.8.RELEASE]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) ~[spring-aop-5.0.8.RELEASE.jar:5.0.8.RELEASE]
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294) ~[spring-tx-5.0.8.RELEASE.jar:5.0.8.RELEASE]
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) ~[spring-tx-5.0.8.RELEASE.jar:5.0.8.RELEASE]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) ~[spring-aop-5.0.8.RELEASE.jar:5.0.8.RELEASE]
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) ~[spring-aop-5.0.8.RELEASE.jar:5.0.8.RELEASE]
	at br.com.senior.frentecaixa.persistence.produto.ConsultaRapidaPrdutoPdvCategDAO$$EnhancerBySpringCGLIB$$ff65ac7f.getCateg(<generated>) ~[bin/:na]
	at br.com.senior.frentecaixa.persistence.produto.ConsultaRapidaPrdutoPrdvCategRN.buscaCategorias(ConsultaRapidaPrdutoPrdvCategRN.java:28) ~[bin/:na]
	at br.com.senior.frentecaixa.TesteDiogoDAO.executar(TesteDiogoDAO.java:26) ~[bin/:na]
	at br.com.senior.frentecaixa.PreExecucaoController.iniciarPreExecucaoSistema(PreExecucaoController.java:131) ~[bin/:na]
	at br.com.senior.frentecaixa.PreExecucaoView.lambda$0(PreExecucaoView.java:82) ~[bin/:na]
	at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295) ~[jfxrt.jar:na]
	at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_151]
	at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294) ~[jfxrt.jar:na]
	at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) ~[jfxrt.jar:na]
	at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) ~[jfxrt.jar:na]
	at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177) ~[jfxrt.jar:na]
	at java.lang.Thread.run(Unknown Source) ~[na:1.8.0_151]
Caused by: java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: crpcNumSeq of: br.com.senior.frentecaixa.persistence.produto.ConsultaRapidaPrdutoPdv [   FROM  br.com.senior.frentecaixa.persistence.produto.ConsultaRapidaPrdutoPdvCateg c    WHERE  c.crpcFlgAtivo = 'S'      AND  EXISTS (SELECT  1                     FROM  br.com.senior.frentecaixa.persistence.produto.ConsultaRapidaPrdutoPdv q                    WHERE  q.crpcNumSeq = c.crpcNumSeq) ]
	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:133) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:157) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:164) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
	at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:670) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
	at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:23) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_151]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_151]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_151]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_151]
	at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:305) ~[spring-orm-5.0.8.RELEASE.jar:5.0.8.RELEASE]
	at com.sun.proxy.$Proxy71.createQuery(Unknown Source) ~[na:na]
	at br.com.senior.frentecaixa.persistence.produto.ConsultaRapidaPrdutoPdvCategDAO.getCateg(ConsultaRapidaPrdutoPdvCategDAO.java:35) ~[bin/:na]
	at br.com.senior.frentecaixa.persistence.produto.ConsultaRapidaPrdutoPdvCategDAO$$FastClassBySpringCGLIB$$ea8423d.invoke(<generated>) ~[bin/:na]
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-5.0.8.RELEASE.jar:5.0.8.RELEASE]
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:746) ~[spring-aop-5.0.8.RELEASE.jar:5.0.8.RELEASE]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.0.8.RELEASE.jar:5.0.8.RELEASE]
	at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) ~[spring-tx-5.0.8.RELEASE.jar:5.0.8.RELEASE]
	... 17 common frames omitted

Mensagens: 3

Participantes: 2

Ler tópico completo

Between jpa Criteria com campo Time SQLServer

$
0
0

@micheldiniz escreveu:

Olá bom dia, estou com dificuldades com between usando JPA criteria para um select entre horas com campo no banco SQLServer tipo Time, alguém pode dar uma luz para isso?
segue o código:

>     //formatar hora
>         SimpleDateFormat formatoHora = new SimpleDateFormat("HH:mm:ss");
>         String horaSemFormato1 = horainical;
>         String horaSemFormato2 = horafinal;
>         Date horaBuscaInicial = formatoHora.parse(horaSemFormato1);
>         Date horaBuscaFinal = formatoHora.parse(horaSemFormato2);
> //criteria condição:
> 
> cb.between(registro.<Date>get("hora"), horaBuscaInicial, horaBuscaFinal),`

Mensagens: 1

Participantes: 1

Ler tópico completo

Erro na persistencia com hibernate

$
0
0

@junokim76 escreveu:

Olá pessoal, estou fazendo uns exercícios para programação Java Web no canal do Delfino no youtube, sei que faz alguns anos, mas gostei muito da didática dele e estou seguindo a programação web2 e fazendo os exercicios da aula 68 (https://www.youtube.com/watch?v=3aPuNR0UNHg&t=387s) não estou conseguindo criar o banco através do GeraTabelas.java

package br.com.drogaria.main;

import br.com.drogaria.util.HibernateUtil;

public class GeraTabela {

public static void main(String[] args) {
	HibernateUtil.getSessionFactory();
	HibernateUtil.getSessionFactory().close();

}

}

e ao executar está dando esse erro:

ago 22, 2018 12:58:23 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.3.5.Final}
ago 22, 2018 12:58:23 PM org.hibernate.cfg.Environment
INFO: HHH000206: hibernate.properties not found
ago 22, 2018 12:58:24 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager
INFO: HCANN000001: Hibernate Commons Annotations {5.0.4.Final}
ago 22, 2018 12:58:24 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!)
ago 22, 2018 12:58:24 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001005: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/db_drogaria]
ago 22, 2018 12:58:24 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001001: Connection properties: {user=root, password=****}
ago 22, 2018 12:58:24 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001003: Autocommit mode: false
ago 22, 2018 12:58:24 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections
INFO: HHH000115: Hibernate connection pool size: 1 (min=1)
Wed Aug 22 12:58:25 BRT 2018 WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
ago 22, 2018 12:58:25 PM org.hibernate.dialect.Dialect
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect
ago 22, 2018 12:58:26 PM org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl getIsolatedConnection
INFO: HHH10001501: Connection obtained from JdbcConnectionAccess [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess@5d5f10b2] for (non-JTA) DDL execution was not in auto-commit mode; the Connection ‘local transaction’ will be committed and the Connection will be set into auto-commit mode.
ago 22, 2018 12:58:26 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl stop
INFO: HHH10001008: Cleaning up connection pool [jdbc:mysql://localhost:3306/db_drogaria]

Agradeço desde já a ajuda de todos !

Mensagens: 9

Participantes: 2

Ler tópico completo

Função DATE() MySql, existe uma função equivalente no H2 database

$
0
0

@EdersonG escreveu:

Em meu projeto java, estou usando como banco de dados o MySql, para alguns testes unitários estou usando o banco em memoria h2 database.

Na camada de persistência estou realizando uma consulta por período inicial e final, para construção da consulta estou utilizando Hibernate Criteria.

No banco minha coluna de data é do tipo dateTime, portanto ao realizar uma consulta passando os parâmetros de data truncado, por exemplo 2018-08-01 até 2018-08-24 (2018-08-24 simboliza a data atual de hoje), silenciosamente o Mysql envia a seguinte instrução 2018-08-01 00:00:00 até 2018-08-24 00:00:00. Com isso os registros com data igual 2018-08-24 não são retornados.

Por esse motivo tive que adiconar um sqlRestriction no Hibernate criteria para adicionar a função DATE() do MySql na coluna de data para o filtro ser passado corretamente, exemplo DATE(data_criacao) >= 2018-08-01 and DATE(data_criacao) <= 2018-08-24.

O problema é que meus testes unitário quebrou pelo motivo do banco h2 database não suportar a função DATE() que é particular do MySql.

Alguém já passou pelo mesmo problema, ou conhece uma função DATE() equivalente para o banco h2?

Obrigado!

Mensagens: 4

Participantes: 2

Ler tópico completo

JPA retornando Object diferente do tipo de objeto da classe

$
0
0

@Murilo_Medeiros1 escreveu:

Boa noite,
A seguinte query retorna java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to br.com.satisfacer.model.Cliente

public List<Cliente> teste(Cliente cliente) {
    return manager.createQuery("from Cliente c join c.compras e where e.dataUltimaCompra > '01.08.2018'")
            .setMaxResults(100).getResultList();
}

Minha Bean

@SessionScoped
@Named
public class EmailModuleBean implements Serializable {
    private static final long serialVersionUID = 1L;

    @Inject
    private ClientePU clientePU;

    public void testes() {
        for (Cliente c : clientePU.teste(new Cliente())) {
            System.out.println(c.getNome());
        }
    }
}

Meu model:

@javax.persistence.Entity
@Table(name = "clientes")
public class Cliente implements Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @Column(name = "cod_cliente")
    private Long codigo;

    @OneToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "cod_profissao", referencedColumnName = "cod_profissao")
    private ClienteProfissao profissao;

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "cliente")
    private List<Compra> compras = new ArrayList<>();

    @OneToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "cod_cliente", referencedColumnName = "cod_cliente")
    @NotFound(action = NotFoundAction.IGNORE)
    private ClienteOutrosDados outrosDados;

Mensagens: 3

Participantes: 2

Ler tópico completo

Configuração de arquivo persistence

$
0
0

@micheldiniz escreveu:

Olá bom dia, estou com um problema na configuração do arquivo persistence do JPA, esse arquivo possui um trecho no começo que busca online parâmetros para funcionar:

O problema é que minha aplicação vai rodar em uma rede offiline portanto não vai buscar esses parametros online, e minha aplicação está toda montada com seus metodos tudo em JPA que vem desse arquivo, minha pergunta é se existe um meio de trabalhar com esse arquivo offiline?

Mensagens: 1

Participantes: 1

Ler tópico completo


Busca dados Hibernate e thymeleaf com problemas

$
0
0

@Lucashgoulart escreveu:

Boa noite,

Gostaria de uma ajuda de vocês, não estou conseguindo buscar os dados no banco de dados. Segue o código.

paginaController.java

//pagina Controller
@RequestMapping("/listaEstados")
	public ModelAndView listaEstados(){
		ModelAndView mv = new ModelAndView("ListaCadastrados/Estados");
		Iterable<Estado> estados = er.findAll();
		mv.addObject("estados", estados);		
		return mv;
	}

pagina.jsp

//pagina .jsp para mostrar os dados
<tr th:each="estado : ${estados}">														
       <td><span th:text="${estado.codigo}"></span></td>						
       <td><span th:text="${estado.descricao}"></span></td>
       <td><span th:text="${estado.sigla}"></span></td>
</tr>

resultado console

//resultado HIBERNATE 
    Hibernate: select estado0_.codigo as codigo1_0_, estado0_.descricao as descrica2_0_, estado0_.sigla as sigla3_0_ from estado estado0_

Alguém pode me disser o que estou fazendo errado?

Mensagens: 1

Participantes: 1

Ler tópico completo

Erro Hibernate JpaRepository

$
0
0

@javaduvidas escreveu:

Boa tarde,

estou tentando fazer uma paginação com bootstrap thymelaf e springboot porém esta retornando o erro:

Hibernate: SELECT ---------------------------------------- fetch first ? rows only
2018-08-30 13:18:37.695  WARN 8032 --- [nio-8080-exec-1] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 933, SQLState: 42000
2018-08-30 13:18:37.695 ERROR 8032 --- [nio-8080-exec-1] o.h.engine.jdbc.spi.SqlExceptionHelper   : ORA-00933: comando SQL não encerrado adequadamente

2018-08-30 13:18:37.720 ERROR 8032 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[.[dispatcherServlet]      : Servlet.service() for servlet [dispatcherServlet] in context with path [/minhapagina] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet] with root cause

java.sql.SQLSyntaxErrorException: ORA-00933: comando SQL não encerrado adequadamente

Abaixo seguem minhas classes java:

@Repository //Ja tentei com CrudRepository e com PagingAndSortingRepository
public interface Nome extends JpaRepository<MINHAENTITY, Long>{
		
	  Page<MEUREPOSITORY> findAll(Pageable pageable);

}


@GetMapping("pesquisa")
public String pesquisa(Model model, @RequestParam(defaultValue="0") int page) {

			model.addAttribute("data",meurepository.findAll(PageRequest.of(page, 10)));
		
		return "pesquisa";
	}

O erro acontece logo no inicio quando é chamado o findAll…

Alguem poderia me ajudar?!

Mensagens: 2

Participantes: 2

Ler tópico completo

Hibernate nao atualiza a data e a hora automaticamente no banco postgres

$
0
0

@ssi363 escreveu:

Estou desenvolvendo um sisteminha em maven, pra fins de conhecimento. Estou usando eclipse, photon,postgres, hibernate, maven e primefaces. Ele grava os dados normalmente no banco de dados. A data e hora ele ta pegando automaticamente do sistema. Até ai ta blz. Contudo qdo atualzo os dados, a data e a hora nao estao atualizando.
Segue os dados:
Meu domain:

       package br.pro.silvio.prati.domain;

    import java.util.Date;

    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Temporal;
    import javax.persistence.TemporalType;

    @SuppressWarnings("serial")
    @Entity
    public class Area extends GenericDomain {
    	
    	@Column(name = "nome",length =20, nullable = false)
    	private String nome;
    	@Column( name = "status",length =10)
    	private String status;
    	@Column(name = "cadpor",length =20)
    	private String cadpor;
    	@Column(name ="datcad")
    	@Temporal(TemporalType.DATE)
    	private Date datcad = new java.sql.Date(System.currentTimeMillis());
    	@Column(name = "hora")
    	@Temporal(TemporalType.TIME)
    	private Date hora =new java.sql.Date(System.currentTimeMillis());

    	public String getNome() {
    		return nome;
    	}
    	public void setNome(String nome) {
    		this.nome = nome;
    	}
    	public String getStatus() {
    		return status;
    	}
    	public void setStatus(String status) {
    		this.status = status;
    	}
    	public String getCadpor() {
    		`return cadpor;`
    	}
    	public void setCadpor(String cadpor) {
    		this.cadpor = cadpor;
    	}
    	public Date getDatcad() {
    		return datcad;
    	}
    	public void setDatcad(Date datcad) {
    		this.datcad = datcad;
    	}
    	public Date getHora() {
    		return hora;
    	}
    	public void setHora(Date hora) {
    		this.hora = hora;
    	}
    	
    	 	
    	
    }

meu dao e dao generico:


package br.pro.silvio.prati.dao;

import java.lang.reflect.ParameterizedType;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;

import br.pro.silvio.prati.util.HibernateUtil;

public class GenericDAO<Entidade> {
	private Class<Entidade> classe;

	@SuppressWarnings("unchecked")
	public GenericDAO() {
		this.classe = (Class<Entidade>) ((ParameterizedType) getClass().getGenericSuperclass())
				.getActualTypeArguments()[0];
	}

	public void salvar(Entidade entidade) {
		Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();
		Transaction transacao = null;

		try {
			transacao = sessao.beginTransaction();
			sessao.save(entidade);
			transacao.commit();
		} catch (RuntimeException erro) {
			if (transacao != null) {
				transacao.rollback();
			}
			throw erro;
		} finally {
			sessao.close();
		}
	}

	@SuppressWarnings("unchecked")
	public List<Entidade> listar() {
		Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();
		try {
			Criteria consulta = sessao.createCriteria(classe);
			List<Entidade> resultado = consulta.list();
			return resultado;
		} catch (RuntimeException erro) {
			throw erro;
		} finally {
			sessao.close();
		}
	}
	
	@SuppressWarnings("unchecked")
	public Entidade buscar(Long codigo) {
		Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();
		try {
			Criteria consulta = sessao.createCriteria(classe);
			consulta.add(Restrictions.idEq(codigo));
			Entidade resultado = (Entidade) consulta.uniqueResult();
			return resultado;
		} catch (RuntimeException erro) {
			throw erro;
		} finally {
			sessao.close();
		}
	}
	
	public void excluir(Entidade entidade) {
		Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();
		Transaction transacao = null;

		try {
			transacao = sessao.beginTransaction();
			sessao.delete(entidade);
			transacao.commit();
		} catch (RuntimeException erro) {
			if (transacao != null) {
				transacao.rollback();
			}
			throw erro;
		} finally {
			sessao.close();
		}
	}
	
	public void editar(Entidade entidade) {
		Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();
		Transaction transacao = null;

		try {
			transacao = sessao.beginTransaction();
			sessao.update(entidade);
			transacao.commit();
		} catch (RuntimeException erro) {
			if (transacao != null) {
				transacao.rollback();
			}
			throw erro;
		} finally {
			sessao.close();
		}
	}
	
	public void merge(Entidade entidade) {
		Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();
		Transaction transacao = null;

		try {
			transacao = sessao.beginTransaction();
			sessao.merge(entidade);
			transacao.commit();
		} catch (RuntimeException erro) {
			if (transacao != null) {
				transacao.rollback();
			}
			throw erro;
		} finally {
			sessao.close();
		}
	}
}
package br.pro.silvio.prati.dao;

import br.pro.silvio.prati.domain.Area;

public class AreaDAO extends GenericDAO<Area>{
	

}

meu bean:

package br.pro.silvio.prati.bean;

import java.io.Serializable;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.event.ActionEvent;

import org.omnifaces.util.Messages;

import br.pro.silvio.prati.dao.AreaDAO;
import br.pro.silvio.prati.domain.Area;

@SuppressWarnings("serial")
@ManagedBean
@ViewScoped
public class AreaBean implements Serializable {
	private Area area;
	private List<Area> areas;

	public Area getArea() {
		return area;
	}

	public void setArea(Area area) {
		this.area = area;
	}

	public List<Area> getAreas() {
		return areas;
	}

	public void setAreas(List<Area> areas) {
		this.areas = areas;
	}

	@PostConstruct
	public void listar() {
		try {
			AreaDAO areaDAO = new AreaDAO();
			areas = areaDAO.listar();
		} catch (RuntimeException erro) {
			Messages.addGlobalError("Ocorreu um erro ao tentar listar as AREAS");
			erro.printStackTrace();
		}
	}

	public void novo() {
		area = new Area();
	}

	public void salvar() {
		try {
			AreaDAO areaDAO = new AreaDAO();
			areaDAO.merge(area);

			novo();
			areas = areaDAO.listar();

			Messages.addGlobalInfo("Area salvo com sucesso");
		} catch (RuntimeException erro) {
			Messages.addGlobalError("Ocorreu um erro ao tentar salvar a AREA");
			erro.printStackTrace();
		}
	}
	public void excluir(ActionEvent evento) {
		try {
			area = (Area) evento.getComponent().getAttributes().get("areaSelecionado");

			AreaDAO areaDAO = new AreaDAO();
			areaDAO.excluir(area);
			
			areas = areaDAO.listar();

			Messages.addGlobalInfo("Estado removido com sucesso");
		} catch (RuntimeException erro) {
			Messages.addFlashGlobalError("Ocorreu um erro ao tentar remover o estado");
			erro.printStackTrace();
		}
	}
	
	public void editar(ActionEvent evento){
		area = (Area) evento.getComponent().getAttributes().get("areaSelecionado");
	}

}

e por fim , meu xhtml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://xmlns.jcp.org/jsf/html"
	xmlns:f="http://xmlns.jcp.org/jsf/core"
	xmlns:p="http://primefaces.org/ui">
<h:head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title>Are</title>
</h:head>
<h:body>
	<p:growl id="mensagem" />

	<h:form id="formListagem">
		<p:panel header="AREA - Listagem">
			<p:dataTable id="tabela" emptyMessage="Nenhum registro encontrado."
				paginator="true" value="#{areaBean.areas}" var="item" rows="8">
				<f:facet name="header">
					<p:commandButton value="Novo" oncomplete="PF('dialogo').show();"
						actionListener="#{areaBean.novo}" update=":formCadastro:painel">
						<f:actionListener
							type="org.omnifaces.eventlistener.ResetInputAjaxActionListener" />
					</p:commandButton>
				</f:facet>

				<p:column headerText="Código" sortBy="#{item.codigo}"
					filterBy="#{item.codigo}">
					<h:outputText value="#{item.codigo}" />
				</p:column>
				<p:column headerText="Descricao" sortBy="#{item.nome}"
					filterBy="#{item.nome}">
					<h:outputText value="#{item.nome}" />
				</p:column>
				<p:column headerText="Status" sortBy="#{item.status}"
					filterBy="#{item.status}">
					<h:outputText value="#{item.status}" />
				</p:column>

				<p:column headerText="Cadastrado por" sortBy="#{item.cadpor}"
					filterBy="#{item.cadpor}">
					<h:outputText value="#{item.cadpor}" />
				</p:column>

				<p:column headerText="Data" sortBy="#{item.datcad}"
					filterBy="#{item.datcad}">
					<h:outputText value="#{item.datcad}">
					<f:convertDateTime locale="pt_BR" />
					</h:outputText>

				</p:column>
				<p:column headerText="Hora">
					<h:outputText value="#{item.hora}" />
				</p:column>
				<p:column headerText="Opções">
					<p:commandButton icon="ui-icon-trash"
						actionListener="#{areaBean.excluir}"
						update=":mensagem :formListagem:tabela">
						<p:confirm header="Confirmação" message="Deseja excluir 'AREA'?"
							icon="ui-icon-alert" />
						<f:attribute name="areaSelecionado" value="#{item}" />
					</p:commandButton>

					<p:commandButton icon="ui-icon-pencil"
						actionListener="#{areaBean.editar}" update=":formCadastro:painel"
						oncomplete="PF('dialogo').show();">
						<f:attribute name="areaSelecionado" value="#{item}" />
						<f:actionListener
							type="org.omnifaces.eventlistener.ResetInputAjaxActionListener" />
					</p:commandButton>

				</p:column>
			</p:dataTable>

			<p:confirmDialog global="true" showEffect="fade" hideEffect="fade">
				<p:commandButton value="Sim" type="button"
					styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
				<p:commandButton value="Não" type="button"
					styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
			</p:confirmDialog>
		</p:panel>
	</h:form>

	<p:dialog header="AREA - Cadastro" widgetVar="dialogo"
		draggable="false" resizable="false" modal="true" closable="false">

		<h:form id="formCadastro">

			<h:panelGrid id="painel" columns="2">

				<p:outputLabel value="Descrição:" />
				<p:inputText maxlength="30" size="20" value="#{areaBean.area.nome}"
					required="true" requiredMessage="O campo Descricao é obrigatório!" />

				<p:outputLabel value="Situação:" />
				<p:selectOneMenu value="#{areaBean.area.status}" required="true"
					requiredMessage="O campo Situacao é obrigatório!">
					<f:selectItem itemValue="" itemLabel="Selecione.." />
					<f:selectItem itemValue="Ativo" itemLabel="Ativo" />
					<f:selectItem itemValue="Inativo" itemLabel="Inativo" />
				</p:selectOneMenu>
			</h:panelGrid>

			<h:panelGrid columns="2">
				<p:commandButton value="Salvar" actionListener="#{areaBean.salvar}"
					update=":mensagem :formCadastro:painel :formListagem:tabela" />
				<p:commandButton value="Fechar" oncomplete="PF('dialogo').hide();" />
			</h:panelGrid>
		</h:form>
	</p:dialog>
</h:body>
</html>

ele grava de boa a data e a hora , mas quando é pra atualizar, só atualiza outros campos mas não a data e a hora. o que pode ser?

Mensagens: 4

Participantes: 3

Ler tópico completo

Implementando Auditoria com o Hibernate Envers

$
0
0

@guilhermebhte escreveu:

Fui tentar implementar a auditoria e vi este projeto hibernate-envers.

Mas ao tentar criar o projeto ele dá este erro:

12:16:45,518 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 50) MSC000001: Failed to start service jboss.persistenceunit."nfse-web.war#netsoft": org.jboss.msc.service.StartException in service jboss.persistenceunit."nfse-web.war#netsoft": java.lang.AbstractMethodError
	at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:172) [wildfly-jpa-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:117) [wildfly-jpa-8.2.1.Final.jar:8.2.1.Final]
	at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0_131]
	at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:474)
	at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:182) [wildfly-jpa-8.2.1.Final.jar:8.2.1.Final]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_131]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_131]
	at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_131]
	at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: java.lang.AbstractMethodError
	at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:312) [hibernate-core-4.3.7.Final.jar:4.3.7.Final]
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1859) [hibernate-core-4.3.7.Final.jar:4.3.7.Final]
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:852) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final]
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:845) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final]
	at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:398) [hibernate-core-4.3.7.Final.jar:4.3.7.Final]
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:844) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final]
	at org.jboss.as.jpa.hibernate4.TwoPhaseBootstrapImpl.build(TwoPhaseBootstrapImpl.java:44) [jipijapa-hibernate4-3-1.0.1.Final.jar:]
	at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:154) [wildfly-jpa-8.2.1.Final.jar:8.2.1.Final]
	... 8 more

12:16:45,518 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("deploy") failed - address: ([("deployment" => "nfse-web.war")]) - failure description: {"JBAS014671: Failed services" => {"jboss.persistenceunit.\"nfse-web.war#netsoft\"" => "org.jboss.msc.service.StartException in service jboss.persistenceunit.\"nfse-web.war#netsoft\": java.lang.AbstractMethodError
    Caused by: java.lang.AbstractMethodError"}}
12:16:45,549 WARN  [org.jboss.as.jpa] (Controller Boot Thread) JBAS011411: Unexpected problem gathering statistics: java.lang.IllegalStateException: JBAS011477: Persistence unit 'nfse-web.war#netsoft' is not available
	at org.jboss.as.jpa.management.EntityManagerFactoryLookup.entityManagerFactory(EntityManagerFactoryLookup.java:44)
	at org.jboss.as.jpa.hibernate4.management.HibernateEntityCacheStatistics.getDynamicChildrenNames(HibernateEntityCacheStatistics.java:72)
	at org.jboss.as.jpa.management.DynamicManagementStatisticsResource.getChildren(DynamicManagementStatisticsResource.java:204)
	at org.jboss.as.controller.registry.AbstractModelResource$DelegateResource.getChildren(AbstractModelResource.java:254) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.registry.Resource$Tools.readModel(Resource.java:252) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.registry.Resource$Tools.readModel(Resource.java:239) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.registry.Resource$Tools.readModel(Resource.java:225) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.registry.Resource$Tools.readModel(Resource.java:254) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.registry.Resource$Tools.readModel(Resource.java:239) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.registry.Resource$Tools.readModel(Resource.java:225) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.registry.Resource$Tools.readModel(Resource.java:254) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.registry.Resource$Tools.readModel(Resource.java:239) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.registry.Resource$Tools.readModel(Resource.java:225) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.registry.Resource$Tools.readModel(Resource.java:254) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.registry.Resource$Tools.readModel(Resource.java:239) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.registry.Resource$Tools.readModel(Resource.java:225) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.registry.Resource$Tools.readModel(Resource.java:213) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.ModelControllerImpl.writeModel(ModelControllerImpl.java:580) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.OperationContextImpl.createPersistenceResource(OperationContextImpl.java:229) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:543) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:298) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.AbstractOperationContext.finishStep(AbstractOperationContext.java:752) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:727) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:501) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:298) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:293) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.ModelControllerImpl.boot(ModelControllerImpl.java:346) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:297) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.server.ServerService.boot(ServerService.java:356) [wildfly-server-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.server.ServerService.boot(ServerService.java:331) [wildfly-server-8.2.1.Final.jar:8.2.1.Final]
	at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:259) [wildfly-controller-8.2.1.Final.jar:8.2.1.Final]
	at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_131]

Classe modelo:

@Entity
@Table(name = "TB_REGIME_TRIBUTACAO", schema = "CONFIGURACOES", uniqueConstraints = {@UniqueConstraint(columnNames = {"NR_CODIGO"}, name = "U_TB_REGIME_TRIBUTACAO_1")}, indexes = {
		@Index(columnList = "ST_REGISTRO", name = "I1_TB_REGIME_TRIBUTACAO"),
		@Index(columnList = "NR_CODIGO", name = "I2_TB_REGIME_TRIBUTACAO"),
		@Index(columnList = "DS_DESCRICAO", name = "I2_TB_REGIME_TRIBUTACAO")})
@Audited
@AuditTable(schema = "CONFIGURACOES", value = "TB_REGIME_TRIBUTACAO_AUD")
@ExclusaoLogica
public class RegimeTributacaoEntity extends NFSEEntity {

	private static final long serialVersionUID = -8437445797289766466L;

	private Integer codigo;
	private String descricao;

	@Override
	@Id
	@Column(name = "PK_REGIME_TRIBUTACAO")
	@SequenceGenerator(name = "CONFIGURACOES.SQ_REGIME_TRIBUTACAO", sequenceName = "CONFIGURACOES.SQ_REGIME_TRIBUTACAO", allocationSize = 1)
	@GeneratedValue(generator = "CONFIGURACOES.SQ_REGIME_TRIBUTACAO", strategy = GenerationType.SEQUENCE)
	public Long getId() {
		return super.getId();
	}

	@Column(name = "NR_CODIGO", length = 11, nullable = false)
	public Integer getCodigo() {
		return codigo;
	}

	public void setCodigo(Integer codigo) {
		this.codigo = codigo;
	}

	@Column(name = "DS_DESCRICAO", length = 50, nullable = false)
	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	@Transient
	public String codigoDescricao() {
		return this.codigo.toString().concat(Constantes.TRACO)
				.concat(this.descricao);
	}
}

Meu pom tem:

<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-envers</artifactId>
			<version>5.2.14.Final</version>
		</dependency>

persistence.xml

<?xml version="1.0" encoding="UTF-8"?>


	<provider>org.hibernate.ejb.HibernatePersistence</provider>

	<non-jta-data-source>java:/prefeitura-ds</non-jta-data-source>

br.eti.netsoft.nfse.notaFiscal.pagamento.RegimeTributacaoEntity




		<!-- Configuração do Hibernate Envers -->
		<property name="post-insert"
			value="org.hibernate.ejb.event.EJB3PostInsertEventListener, org.hibernate.envers.event.EnversListener" />
		<property name="post-update"
			value="org.hibernate.ejb.event.EJB3PostUpdateEventListener, org.hibernate.envers.event.EnversListener" />
		<!-- <property name="post-delete" value="org.hibernate.ejb.event.EJB3PostUpdateEventListener, 
			org.hibernate.envers.event.EnversListener" /> -->
	</properties>
</persistence-unit>

Sem as informações sobre o Hibernate Envers, o projeto sobe normalmente e cria as tabelas no banco de dados.

Mensagens: 1

Participantes: 1

Ler tópico completo

Código não atualiza no hibernate JPA no Eclipse

$
0
0

@Lucas_ss escreveu:

Olá pessoal estou fazendo um sisteminha para afiar um pouco minhas técnicas e me deparei com um problema. Modifiquei um código meu a um tempinho mas quando fui depurar parecia que ele estava executando o código antigo. Estou fazendo um crud com Hibernate JPA e Eclipse. Se puderem me ajudar! Para facilitar o entendimento, esta parecendo que estou mexendo no meu codigo HTML e quando dou F5 no navegador não atualiza para o novo código!

Mensagens: 1

Participantes: 1

Ler tópico completo

Viewing all 759 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>