Hibernate HSQLBD - Não Salva Objeto e não da Erro

[color=black]Pessoal, estou com um problema muito estranho.

Criei uma base de dados no HSQLDB.
Criei um projeto no NetBeans 6.9.1., add os jars do Hibernate assim como o do HSQLDB. Inseri alguns registros no banco(usando o proprio Manager do HSQLDB), testei um select na aplicação, Hibernate retornou o objeto normalmente. Daí quando tentei inserir um Objeto pela aplicação o Hibernate mostrou:
[/color]
run:
141 [main] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.2.0.Final
157 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.6.1.Final
157 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
157 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
172 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
313 [main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: testandohibernate.Users
375 [main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity testandohibernate.Users on table PUBLIC.USERS
438 [main] INFO org.hibernate.cfg.Configuration - Hibernate Validator not found: ignoring
438 [main] INFO org.hibernate.cfg.search.HibernateSearchEventListenerRegister - Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
453 [main] INFO org.hibernate.connection.ConnectionProviderFactory - Initializing connection provider: org.hibernate.connection.C3P0ConnectionProvider
453 [main] INFO org.hibernate.connection.C3P0ConnectionProvider - C3P0 using driver: org.hsqldb.jdbcDriver at URL: jdbc:hsqldb:file:D:\DataBaseProjects\TesteHibernate
453 [main] INFO org.hibernate.connection.C3P0ConnectionProvider - Connection properties: {user=SA}
453 [main] INFO org.hibernate.connection.C3P0ConnectionProvider - autocommit mode: false
log4j:WARN No appenders could be found for logger (com.mchange.v2.log.MLog).
log4j:WARN Please initialize the log4j system properly.
1328 [main] INFO org.hibernate.cfg.SettingsFactory - Database ->
name : HSQL Database Engine
version : 1.8.1
major : 1
minor : 8
1328 [main] INFO org.hibernate.cfg.SettingsFactory - Driver ->
name : HSQL Database Engine Driver
version : 1.8.1
major : 1
minor : 8
1360 [main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.HSQLDialect
1375 [main] INFO org.hibernate.engine.jdbc.JdbcSupportLoader - Disabling contextual LOB creation as JDBC driver reported JDBC version [3] less than 4
1375 [main] INFO org.hibernate.transaction.TransactionFactoryFactory - Using default transaction strategy (direct JDBC transactions)
1375 [main] INFO org.hibernate.transaction.TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
1375 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic flush during beforeCompletion(): disabled
1375 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic session close at end of transaction: disabled
1375 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch size: 15
1375 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch updates for versioned data: disabled
1375 [main] INFO org.hibernate.cfg.SettingsFactory - Scrollable result sets: enabled
1375 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC3 getGeneratedKeys(): disabled
1375 [main] INFO org.hibernate.cfg.SettingsFactory - Connection release mode: auto
1375 [main] INFO org.hibernate.cfg.SettingsFactory - Default batch fetch size: 1
1375 [main] INFO org.hibernate.cfg.SettingsFactory - Generate SQL with comments: disabled
1375 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL updates by primary key: disabled
1375 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL inserts for batching: disabled
1375 [main] INFO org.hibernate.cfg.SettingsFactory - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
1391 [main] INFO org.hibernate.hql.ast.ASTQueryTranslatorFactory - Using ASTQueryTranslatorFactory
1391 [main] INFO org.hibernate.cfg.SettingsFactory - Query language substitutions: {}
1391 [main] INFO org.hibernate.cfg.SettingsFactory - JPA-QL strict compliance: disabled
1391 [main] INFO org.hibernate.cfg.SettingsFactory - Second-level cache: enabled
1391 [main] INFO org.hibernate.cfg.SettingsFactory - Query cache: disabled
1391 [main] INFO org.hibernate.cfg.SettingsFactory - Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory
1391 [main] INFO org.hibernate.cfg.SettingsFactory - Optimize cache for minimal puts: disabled
1391 [main] INFO org.hibernate.cfg.SettingsFactory - Structured second-level cache entries: disabled
1391 [main] INFO org.hibernate.cfg.SettingsFactory - Echoing all SQL to stdout
1391 [main] INFO org.hibernate.cfg.SettingsFactory - Statistics: disabled
1391 [main] INFO org.hibernate.cfg.SettingsFactory - Deleted entity synthetic identifier rollback: disabled
1391 [main] INFO org.hibernate.cfg.SettingsFactory - Default entity-mode: pojo
1391 [main] INFO org.hibernate.cfg.SettingsFactory - Named query checking : enabled
1391 [main] INFO org.hibernate.cfg.SettingsFactory - Check Nullability in Core (should be disabled when Bean Validation is on): enabled
1422 [main] INFO org.hibernate.impl.SessionFactoryImpl - building session factory
1438 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [wrapper_materialized_blob] overrides previous : org.hibernate.type.WrappedMaterializedBlobType@ac0a3f
1438 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [blob] overrides previous : org.hibernate.type.BlobType@d4ae71
1438 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [java.sql.Blob] overrides previous : org.hibernate.type.BlobType@d4ae71
1438 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [characters_clob] overrides previous : org.hibernate.type.PrimitiveCharacterArrayClobType@1088c87
1438 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [materialized_blob] overrides previous : org.hibernate.type.MaterializedBlobType@4201f5
1438 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [wrapper_characters_clob] overrides previous : org.hibernate.type.CharacterArrayClobType@18e8a51
1438 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [materialized_clob] overrides previous : org.hibernate.type.MaterializedClobType@11ae542
1438 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [clob] overrides previous : org.hibernate.type.ClobType@c152ac
1438 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [java.sql.Clob] overrides previous : org.hibernate.type.ClobType@c152ac
1703 [main] INFO org.hibernate.impl.SessionFactoryObjectFactory - Not binding factory to JNDI, no JNDI name configured
Hibernate:
insert
into
PUBLIC.USERS
(nome, id)
values
(?, ?)
1797 [main] INFO org.hibernate.impl.SessionFactoryImpl - closing

[color=black]Só que quando vou na base verificar o registro não está la.

Classe User:[/color]

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package testandohibernate;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 *
 * @author Thiago
 */
@Entity//para dizer que é uma entidade POJO
@Table(name="PUBLIC.USERS")
public class Users implements java.io.Serializable{
    @Id
    private Integer id;
    @Column
    private String nome;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Users other = (Users) obj;
        if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 71 * hash + (this.id != null ? this.id.hashCode() : 0);
        return hash;
    }

    @Override
    public String toString() {
        return "Users{" + "nome=" + nome + '}';
    }
}

[color=black]Classe Main:[/color]

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package testandohibernate;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

/**
 *
 * @author Thiago
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here

        SessionFactory sessionFactory = new AnnotationConfiguration()
                .setProperty("hibernate.dialect", "org.hibernate.dialect.HSQLDialect")
                .setProperty("hibernate.connection.driver_class", "org.hsqldb.jdbcDriver")
                .setProperty("hibernate.connection.url", "jdbc:hsqldb:file:D:\\DataBaseProjects\\TesteHibernate")
                .setProperty("hibernate.connection.username", "SA")
                .setProperty("hibernate.password", "")
                .setProperty("hibernate.show_sql", "true")
                .setProperty("hibernate.format_sql", "true")
                .setProperty("hibernate.c3p0.acquire_increment", "1")
                .setProperty("hibernate.c3p0.idle_test_period", "100")
                .setProperty("hibernate.c3p0.max_size", "10")
                .setProperty("hibernate.c3p0.max_statements", "0")
                .setProperty("hibernate.c3p0.min_size", "5")
                .setProperty("hibernate.c3p0.timeout", "100")
                .addAnnotatedClass(Users.class)
                .buildSessionFactory();

        Session session = sessionFactory.openSession();
        session.beginTransaction();

        //----------INICIO

//        Users user = (Users) session.get(Users.class, 3);
//        System.out.println(user);

        Users user = new Users();
        user.setId(3);
        user.setNome("Teste");

        session.save(user);

        //----------FIM

        session.getTransaction().commit();
        session.close();
        sessionFactory.close();
    }

}

Alguem pode ajudar?! Oo

Lembrando que se eu inserir pelo proprio banco e pedir um select pelo Hibernate ele mostra normal o Objeto agora se eu inserir pelo Hibernate ele mostra que foi inserido mas quando dou um select mostra Null e eu estou dando session.getTransaction().commit();

Estranho neh?!

Só para notificar, troquei o banco. De HSQLDB para Derby, mesma confs de tabelas, e lá funcionou normal.

Seria algum problema com o HSQLDB?

Oo

tente usar o saveOrUpdate com o HSQLBD e ver se a persistencia vai acontecer.

abracos,

[color=black]Cara,

Não funcionou não, e ve o que eu percebi tbm.

No main eu crio e seto um objeto, mando pra gravar no banco, e logo depois do comando de gravar dou um select para o mesmo objeto e ele me retorna o objeto, só que o objeto não foi gravado. Muito estranho. (Comandos de Criar Objeto Salvar e Recuperar do banco: linhas 67 a 76)[/color]

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package testandohibernate;

import java.util.Date;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

/**
 *
 * @author Thiago
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here

        SessionFactory sessionFactory = new AnnotationConfiguration()
                .setProperty("hibernate.dialect", "org.hibernate.dialect.HSQLDialect")
                .setProperty("hibernate.connection.driver_class", "org.hsqldb.jdbcDriver")
                .setProperty("hibernate.connection.url", "jdbc:hsqldb:file:D:\\DataBaseProjects\\TesteHibernate")
                .setProperty("hibernate.connection.username", "SA")
                .setProperty("hibernate.connection.password", "")
                .setProperty("hibernate.show_sql", "false")
                .setProperty("hibernate.format_sql", "true")
//                .setProperty("hibernate.c3p0.acquire_increment", "1")
//                .setProperty("hibernate.c3p0.idle_test_period", "100")
//                .setProperty("hibernate.c3p0.max_size", "10")
//                .setProperty("hibernate.c3p0.max_statements", "0")
//                .setProperty("hibernate.c3p0.min_size", "5")
//                .setProperty("hibernate.c3p0.timeout", "100")
                .addAnnotatedClass(User.class)
                .buildSessionFactory();

//        SessionFactory sessionFactory = new AnnotationConfiguration()
//                .setProperty("hibernate.dialect", "org.hibernate.dialect.DerbyDialect")
//                .setProperty("hibernate.connection.driver_class", "org.apache.derby.jdbc.ClientDriver")
//                .setProperty("hibernate.connection.url", "jdbc:derby://localhost:1527/TesteHibernate")
//                .setProperty("hibernate.connection.username", "test")
//                .setProperty("hibernate.connection.password", "test")
//                .setProperty("hibernate.show_sql", "false")
//                .setProperty("hibernate.format_sql", "true")
//                .setProperty("hibernate.c3p0.acquire_increment", "1")
//                .setProperty("hibernate.c3p0.idle_test_period", "100")
//                .setProperty("hibernate.c3p0.max_size", "10")
//                .setProperty("hibernate.c3p0.max_statements", "0")
//                .setProperty("hibernate.c3p0.min_size", "5")
//                .setProperty("hibernate.c3p0.timeout", "100")
//                .addAnnotatedClass(User.class)
//                .addAnnotatedClass(Product.class)
//                .addAnnotatedClass(Invoice.class)
//                .addAnnotatedClass(InvoiceItem.class)
//                .buildSessionFactory();

        Session session = sessionFactory.openSession();
        session.beginTransaction();

        //----------INICIO

        User u = new User();
        u.setId(3);
        u.setNome("Maria");

        session.saveOrUpdate(u);

        User a = (User) session.get(User.class, 3);
        System.out.println(a.getNome());
        
        //----------FIM

        session.getTransaction().commit();
        session.close();
        sessionFactory.close();

    }

}

Mandando rodar essa classe ele me retorna:

run:
141 [main] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.2.0.Final
156 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.6.1.Final
156 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
156 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
156 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
344 [main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: testandohibernate.User
453 [main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity testandohibernate.User on table PUBLIC.USERS
563 [main] INFO org.hibernate.cfg.Configuration - Hibernate Validator not found: ignoring
578 [main] INFO org.hibernate.cfg.search.HibernateSearchEventListenerRegister - Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
594 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
594 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 20
594 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - autocommit mode: false
610 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - using driver: org.hsqldb.jdbcDriver at URL: jdbc:hsqldb:file:D:\DataBaseProjects\TesteHibernate
610 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=SA, password=****}
1110 [main] INFO org.hibernate.cfg.SettingsFactory - Database ->
name : HSQL Database Engine
version : 1.8.1
major : 1
minor : 8
1110 [main] INFO org.hibernate.cfg.SettingsFactory - Driver ->
name : HSQL Database Engine Driver
version : 1.8.1
major : 1
minor : 8
1141 [main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.HSQLDialect
1141 [main] INFO org.hibernate.engine.jdbc.JdbcSupportLoader - Disabling contextual LOB creation as JDBC driver reported JDBC version [3] less than 4
1156 [main] INFO org.hibernate.transaction.TransactionFactoryFactory - Using default transaction strategy (direct JDBC transactions)
1156 [main] INFO org.hibernate.transaction.TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
1156 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic flush during beforeCompletion(): disabled
1156 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic session close at end of transaction: disabled
1156 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch size: 15
1156 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch updates for versioned data: disabled
1156 [main] INFO org.hibernate.cfg.SettingsFactory - Scrollable result sets: enabled
1156 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC3 getGeneratedKeys(): disabled
1156 [main] INFO org.hibernate.cfg.SettingsFactory - Connection release mode: auto
1156 [main] INFO org.hibernate.cfg.SettingsFactory - Default batch fetch size: 1
1156 [main] INFO org.hibernate.cfg.SettingsFactory - Generate SQL with comments: disabled
1156 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL updates by primary key: disabled
1156 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL inserts for batching: disabled
1156 [main] INFO org.hibernate.cfg.SettingsFactory - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
1156 [main] INFO org.hibernate.hql.ast.ASTQueryTranslatorFactory - Using ASTQueryTranslatorFactory
1156 [main] INFO org.hibernate.cfg.SettingsFactory - Query language substitutions: {}
1156 [main] INFO org.hibernate.cfg.SettingsFactory - JPA-QL strict compliance: disabled
1156 [main] INFO org.hibernate.cfg.SettingsFactory - Second-level cache: enabled
1156 [main] INFO org.hibernate.cfg.SettingsFactory - Query cache: disabled
1156 [main] INFO org.hibernate.cfg.SettingsFactory - Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory
1172 [main] INFO org.hibernate.cfg.SettingsFactory - Optimize cache for minimal puts: disabled
1172 [main] INFO org.hibernate.cfg.SettingsFactory - Structured second-level cache entries: disabled
1172 [main] INFO org.hibernate.cfg.SettingsFactory - Statistics: disabled
1172 [main] INFO org.hibernate.cfg.SettingsFactory - Deleted entity synthetic identifier rollback: disabled
1172 [main] INFO org.hibernate.cfg.SettingsFactory - Default entity-mode: pojo
1172 [main] INFO org.hibernate.cfg.SettingsFactory - Named query checking : enabled
1172 [main] INFO org.hibernate.cfg.SettingsFactory - Check Nullability in Core (should be disabled when Bean Validation is on): enabled
1203 [main] INFO org.hibernate.impl.SessionFactoryImpl - building session factory
1203 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [characters_clob] overrides previous : org.hibernate.type.PrimitiveCharacterArrayClobType@e6f7d2
1203 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [wrapper_characters_clob] overrides previous : org.hibernate.type.CharacterArrayClobType@19836ed
1203 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [wrapper_materialized_blob] overrides previous : org.hibernate.type.WrappedMaterializedBlobType@3e0ebb
1203 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [clob] overrides previous : org.hibernate.type.ClobType@39443f
1203 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [java.sql.Clob] overrides previous : org.hibernate.type.ClobType@39443f
1203 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [materialized_blob] overrides previous : org.hibernate.type.MaterializedBlobType@1afae45
1203 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [materialized_clob] overrides previous : org.hibernate.type.MaterializedClobType@da4b71
1219 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [blob] overrides previous : org.hibernate.type.BlobType@18f1d7e
1219 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [java.sql.Blob] overrides previous : org.hibernate.type.BlobType@18f1d7e
1610 [main] INFO org.hibernate.impl.SessionFactoryObjectFactory - Not binding factory to JNDI, no JNDI name configured
[color=red]Maria[/color]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Retorno do nome do Objeto
1719 [main] INFO org.hibernate.impl.SessionFactoryImpl - closing
1719 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - cleaning up connection pool: jdbc:hsqldb:file:D:\DataBaseProjects\TesteHibernate

[color=red]Logo depois se eu fizer: abaixo a mesma classe só comendando as linha 67 a 72[/color]

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package testandohibernate;

import java.util.Date;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

/**
 *
 * @author Thiago
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here

        SessionFactory sessionFactory = new AnnotationConfiguration()
                .setProperty("hibernate.dialect", "org.hibernate.dialect.HSQLDialect")
                .setProperty("hibernate.connection.driver_class", "org.hsqldb.jdbcDriver")
                .setProperty("hibernate.connection.url", "jdbc:hsqldb:file:D:\\DataBaseProjects\\TesteHibernate")
                .setProperty("hibernate.connection.username", "SA")
                .setProperty("hibernate.connection.password", "")
                .setProperty("hibernate.show_sql", "false")
                .setProperty("hibernate.format_sql", "true")
//                .setProperty("hibernate.c3p0.acquire_increment", "1")
//                .setProperty("hibernate.c3p0.idle_test_period", "100")
//                .setProperty("hibernate.c3p0.max_size", "10")
//                .setProperty("hibernate.c3p0.max_statements", "0")
//                .setProperty("hibernate.c3p0.min_size", "5")
//                .setProperty("hibernate.c3p0.timeout", "100")
                .addAnnotatedClass(User.class)
                .buildSessionFactory();

//        SessionFactory sessionFactory = new AnnotationConfiguration()
//                .setProperty("hibernate.dialect", "org.hibernate.dialect.DerbyDialect")
//                .setProperty("hibernate.connection.driver_class", "org.apache.derby.jdbc.ClientDriver")
//                .setProperty("hibernate.connection.url", "jdbc:derby://localhost:1527/TesteHibernate")
//                .setProperty("hibernate.connection.username", "test")
//                .setProperty("hibernate.connection.password", "test")
//                .setProperty("hibernate.show_sql", "false")
//                .setProperty("hibernate.format_sql", "true")
//                .setProperty("hibernate.c3p0.acquire_increment", "1")
//                .setProperty("hibernate.c3p0.idle_test_period", "100")
//                .setProperty("hibernate.c3p0.max_size", "10")
//                .setProperty("hibernate.c3p0.max_statements", "0")
//                .setProperty("hibernate.c3p0.min_size", "5")
//                .setProperty("hibernate.c3p0.timeout", "100")
//                .addAnnotatedClass(User.class)
//                .addAnnotatedClass(Product.class)
//                .addAnnotatedClass(Invoice.class)
//                .addAnnotatedClass(InvoiceItem.class)
//                .buildSessionFactory();

        Session session = sessionFactory.openSession();
        session.beginTransaction();

        //----------INICIO

//        User u = new User();
//        u.setId(3);
//        u.setNome("Maria");
//
//        session.saveOrUpdate(u);

        User a = (User) session.get(User.class, 3);
        System.out.println(a.getNome());
        
        //----------FIM

        session.getTransaction().commit();
        session.close();
        sessionFactory.close();

    }

}

[color=red]Erro de nullPoint[/color]

run:
141 [main] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.2.0.Final
156 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.6.1.Final
156 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
172 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
172 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
422 [main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: testandohibernate.User
500 [main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity testandohibernate.User on table PUBLIC.USERS
578 [main] INFO org.hibernate.cfg.Configuration - Hibernate Validator not found: ignoring
594 [main] INFO org.hibernate.cfg.search.HibernateSearchEventListenerRegister - Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
594 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
594 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 20
594 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - autocommit mode: false
609 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - using driver: org.hsqldb.jdbcDriver at URL: jdbc:hsqldb:file:D:\DataBaseProjects\TesteHibernate
609 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=SA, password=****}
1078 [main] INFO org.hibernate.cfg.SettingsFactory - Database ->
name : HSQL Database Engine
version : 1.8.1
major : 1
minor : 8
1078 [main] INFO org.hibernate.cfg.SettingsFactory - Driver ->
name : HSQL Database Engine Driver
version : 1.8.1
major : 1
minor : 8
1094 [main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.HSQLDialect
1109 [main] INFO org.hibernate.engine.jdbc.JdbcSupportLoader - Disabling contextual LOB creation as JDBC driver reported JDBC version [3] less than 4
1109 [main] INFO org.hibernate.transaction.TransactionFactoryFactory - Using default transaction strategy (direct JDBC transactions)
1125 [main] INFO org.hibernate.transaction.TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
1125 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic flush during beforeCompletion(): disabled
1125 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic session close at end of transaction: disabled
1125 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch size: 15
1125 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch updates for versioned data: disabled
1125 [main] INFO org.hibernate.cfg.SettingsFactory - Scrollable result sets: enabled
1125 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC3 getGeneratedKeys(): disabled
1125 [main] INFO org.hibernate.cfg.SettingsFactory - Connection release mode: auto
1125 [main] INFO org.hibernate.cfg.SettingsFactory - Default batch fetch size: 1
1125 [main] INFO org.hibernate.cfg.SettingsFactory - Generate SQL with comments: disabled
1125 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL updates by primary key: disabled
1125 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL inserts for batching: disabled
1125 [main] INFO org.hibernate.cfg.SettingsFactory - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
1141 [main] INFO org.hibernate.hql.ast.ASTQueryTranslatorFactory - Using ASTQueryTranslatorFactory
1141 [main] INFO org.hibernate.cfg.SettingsFactory - Query language substitutions: {}
1141 [main] INFO org.hibernate.cfg.SettingsFactory - JPA-QL strict compliance: disabled
1141 [main] INFO org.hibernate.cfg.SettingsFactory - Second-level cache: enabled
1141 [main] INFO org.hibernate.cfg.SettingsFactory - Query cache: disabled
1141 [main] INFO org.hibernate.cfg.SettingsFactory - Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory
1141 [main] INFO org.hibernate.cfg.SettingsFactory - Optimize cache for minimal puts: disabled
1141 [main] INFO org.hibernate.cfg.SettingsFactory - Structured second-level cache entries: disabled
1141 [main] INFO org.hibernate.cfg.SettingsFactory - Statistics: disabled
1141 [main] INFO org.hibernate.cfg.SettingsFactory - Deleted entity synthetic identifier rollback: disabled
1141 [main] INFO org.hibernate.cfg.SettingsFactory - Default entity-mode: pojo
1141 [main] INFO org.hibernate.cfg.SettingsFactory - Named query checking : enabled
1141 [main] INFO org.hibernate.cfg.SettingsFactory - Check Nullability in Core (should be disabled when Bean Validation is on): enabled
1172 [main] INFO org.hibernate.impl.SessionFactoryImpl - building session factory
1188 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [characters_clob] overrides previous : org.hibernate.type.PrimitiveCharacterArrayClobType@e6f7d2
1188 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [wrapper_characters_clob] overrides previous : org.hibernate.type.CharacterArrayClobType@19836ed
1188 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [wrapper_materialized_blob] overrides previous : org.hibernate.type.WrappedMaterializedBlobType@3e0ebb
1188 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [clob] overrides previous : org.hibernate.type.ClobType@39443f
1188 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [java.sql.Clob] overrides previous : org.hibernate.type.ClobType@39443f
1188 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [materialized_blob] overrides previous : org.hibernate.type.MaterializedBlobType@1afae45
1188 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [materialized_clob] overrides previous : org.hibernate.type.MaterializedClobType@da4b71
1188 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [blob] overrides previous : org.hibernate.type.BlobType@18f1d7e
1188 [main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [java.sql.Blob] overrides previous : org.hibernate.type.BlobType@18f1d7e
1563 [main] INFO org.hibernate.impl.SessionFactoryObjectFactory - Not binding factory to JNDI, no JNDI name configured
Exception in thread “main” java.lang.NullPointerException
at testandohibernate.Main.main(Main.java:75)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 3 segundos)

[color=black]O que vocês acham?[/color]

enquanto vc nao comita o objeto está na transacao e vc pode fazer com ele o que vc quiser.

Humm… mas e a questão de não salvar no HSQLDB?

se nao está salvando no banco veja como está seu arquivo hibernate.cfg.xml eu particulmente nao gosto de ter um arquivo properties, acho o xml, mais facil para fazer as configuracoes e rapido tb, nao curto colocar as configs dentro do .java, como vc fez, uma que qdo muda algo na config terei que compilar o .java, no xml nao preciso disso.

Mas eu não uso xml, fiz assim pra testar o banco! :frowning: