1
resposta

Problema HSQLDB

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 TesteConta 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.jpa.HibernatePersistenceProvider</provider>
        <!--  Aqui são listadas todas as entidades  -->
        <class>br.com.caelum.financas.entities.Conta</class>
        <properties>
            <!--  Propriedades JDBC  -->
            <property name="javax.persistence.jdbc.driver" value="org.hsqldb.jdbcDriver"/>
            <property name="javax.persistence.jdbc.url" value="jdbc:hsqldb:hsql://localhost/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>

TesteConta.java

package br.com.caelum.financas.teste;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import br.com.caelum.financas.entities.Conta;

public class TesteConta {

    public static void main(String[] args) {

        Conta conta = new Conta();
        conta.setTitular("Leonardo");
        conta.setBanco("Caixa Economica");
        conta.setAgencia("123");
        conta.setNumero("456");

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


        em.getTransaction().begin();
        em.persist(conta);
        em.getTransaction().commit();

        em.close();
        emf.close();

    }
}
1 resposta

Olá Valéria, tudo bem? Peço desculpas pela demora no retorno! Agora não consigo identificar o problema apenas por esses dois trechos de código, você poderia disponibilizar o projeto completo no GitHub e compartilhar o link aqui para que eu possa verificar corretamente?!

Fico aguardando retorno!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software