Problema ao conectar no PostgreSQL

0 respostas
A

Olá pessoal, meu primeiro post aqui no forum prazer em conhece-los!

Enfim, estou começando agora com Java (venho do c#) e estou simplesmente tentado conectar com o PostgreSQL através do Hibernate, mas tá osso. Vou postar os códigos…
Reparem que o erro acontece no DAO vide comentário.

hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC 
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
	"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
	<session-factory>
		<property name="hibernate.dialect">
			org.hibernate.dialect.PostgreSQLDialect
		</property>
		<property name="hibernate.connection.driver_class">
			org.postgresql.Driver
		</property>
		<property name="hibernate.connection.url">
			jdbc:postgresql://localhost/JavaHibernate
		</property>
		<property name="hibernate.connection.username">postgres</property>
		<property name="hibernate.connection.password">teste</property>		
		
		<!-- Configuração de debug -->
        <property name="show_sql">true</property>
        <property name="use_outer_join">true</property>	
        <property name="hibernate.generate_statistics">false</property>
        <property name="query.substitutions">true 1, false 0, yes 1, no 0</property>
        
        <!-- Mapeamento dos arquivos hbm -->
        <mapping class="pojo.Alunos"/>
	</session-factory>
</hibernate-configuration>

DAO (Database.java)

package dao;
import com.mchange.v2.naming.JavaBeanObjectFactory;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
public class Database {
    private static final SessionFactory sessionFactory;
    private static final ThreadLocal<Session> threadLocal =
            new ThreadLocal<Session>();
    static {
        try{
            Configuration configuration = new AnnotationConfiguration();
            configuration.configure("hibernate.cfg.xml"); // nesse momento ele parece o trace: INFO: Configured SessionFactory: null
            sessionFactory = configuration.buildSessionFactory(); // Exatamente nesse momento acontece o erro e cai no catch
        }catch(Throwable t){
            throw new ExceptionInInitializerError(t);
        }
    }
    public static Session getInstance(){
        Session session = (Session) threadLocal.get();
        session = sessionFactory.openSession();
        threadLocal.set(session);
        return session;
    }
    public static void saveOrUpdate(Object objeto) throws Exception{
        Session session=Database.getInstance();
        Transaction tr=session.beginTransaction();
        session.saveOrUpdate(objeto);
        tr.commit();
        session.close();
    }
    public static void delete(Object objeto) throws Exception{
        Session session=Database.getInstance();
        Transaction tr=session.beginTransaction();
        session.delete(objeto);
        tr.commit();
        session.close();
    }
    public static java.util.List createQuery(String hql, int pos, String filtro){
        return Database.getInstance().createQuery(hql).setString(
                pos, filtro).list();
    }
}

Detalhes do erro:

16/04/2011 01:46:02 org.hibernate.cfg.annotations.Version <clinit>
INFO: Hibernate Annotations 3.2.0.GA
16/04/2011 01:46:02 org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.2.0
16/04/2011 01:46:02 org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
16/04/2011 01:46:02 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
16/04/2011 01:46:03 org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
16/04/2011 01:46:08 org.hibernate.cfg.Configuration configure
INFO: configuring from resource: hibernate.cfg.xml
16/04/2011 01:46:08 org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: Configuration resource: hibernate.cfg.xml
16/04/2011 01:46:08 org.hibernate.cfg.Configuration doConfigure
INFO: Configured SessionFactory: null
16/04/2011 01:50:10 org.hibernate.cfg.AnnotationBinder bindClass
INFO: Binding entity from annotated class: pojo.Alunos
16/04/2011 01:50:10 org.hibernate.cfg.annotations.EntityBinder bindTable
INFO: Bind entity pojo.Alunos on table Alunos
Exception in thread "main" java.lang.ExceptionInInitializerError
	at dao.Database.<clinit>(Database.java:18)
	at javaBanco.Principal.retornaAluno(Principal.java:26)
	at javaBanco.Principal.initComponents(Principal.java:22)
	at javaBanco.Principal.<init>(Principal.java:14)
	at javaBanco.Main.<init>(Main.java:7)
	at javaBanco.Main.main(Main.java:10)
Caused by: org.hibernate.AnnotationException: No identifier specified for entity: pojo.Alunos
	at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:626)
	at org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType(AnnotationConfiguration.java:452)
	at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:268)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1210)
	at dao.Database.<clinit>(Database.java:16)
	... 5 more

Qual o problema? Obrigado pessoal!

Criado 16 de abril de 2011
Respostas 0
Participantes 1