Pessoal, estou utilizando o hsqldb para os estudos de JPA e aparentemente os dados não estão sendo gravados no banco. Quando eu rodo a classe PopulaConta o hibernate faz todos os inserts mas quando eu tento utilizar o método find para retornar os dados, o objeto retorna como nulo após a consulta.
Persistence.xml
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<!-- unidade de persistencia com o nome financas -->
<persistence-unit name="financas">
<!-- Implementação do JPA, no nosso caso Hibernate -->
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<!-- Aqui são listadas todas as entidades -->
<class>br.com.caelum.financas.model.Conta</class>
<properties><!-- Propriedades JDBC -->
<property name="javax.persistence.jdbc.driver" value="org.hsqldb.jdbcDriver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:hsqldb:financas"/>
<property name="javax.persistence.jdbc.user" value="sa"/>
<property name="javax.persistence.jdbc.password" value=""/><!-- Configurações específicas do Hibernate -->
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
</properties>
</persistence-unit>
</persistence>
Populaconta.java
package br.com.caelum.financas.util;
import javax.persistence.EntityManager;
import br.com.caelum.financas.model.Conta;
public class PopulaConta {
public static void main(String[] args) {
EntityManager manager = new JPAUtil().getEntityManager();
manager.getTransaction().begin();
Conta conta1 = new Conta();
Conta conta2 = new Conta();
Conta conta3 = new Conta();
Conta conta4 = new Conta();
Conta conta5 = new Conta();
conta1.setBanco("001 - BANCO DO BRASIL");
conta1.setNumero("16987-8");
conta1.setAgencia("6543");
conta1.setTitular("Maria dos Santos");
conta2.setBanco("237 - BANCO BRADESCO");
conta2.setNumero("86759-1");
conta2.setAgencia("1745");
conta2.setTitular("Paulo Roberto Souza");
conta3.setBanco("341 - BANCO ITAU UNIBANCO");
conta3.setNumero("46346-3");
conta3.setAgencia("4606");
conta3.setTitular("Antonio Duraes");
conta4.setBanco("033 - BANCO SANTANDER");
conta4.setNumero("12345-6");
conta4.setAgencia("9876");
conta4.setTitular("Leandra Marques");
conta5.setBanco("104 - CAIXA ECONOMICA FEDERAL");
conta5.setNumero("98654-3");
conta5.setAgencia("1234");
conta5.setTitular("Alexandre Duarte");
// persistindo as contas
manager.persist(conta1);
manager.persist(conta2);
manager.persist(conta3);
manager.persist(conta4);
manager.persist(conta5);
manager.getTransaction().commit();
manager.close();
}
}
TesteEstadosJPA.java
package br.com.caelum.financas.teste;
import javax.persistence.EntityManager;
import br.com.caelum.financas.model.Conta;
import br.com.caelum.financas.util.JPAUtil;
public class TesteEstadosJPA {
public static void main(String[] args) {
EntityManager manager = new JPAUtil().getEntityManager();
manager.getTransaction().begin();
Conta conta = manager.find(Conta.class, 1);
System.out.println(conta);
manager.getTransaction().commit();
manager.close();
}
}