[Resolvido] Problemas Hibernate

começo pelo BuildPatch… Segue abaixo os Librarys

em anexo

E aqui abaixo em anexo, a classe Produto e GeraTabelas…

Tá foda, hibernate até pegar o jeito é abusadinho

Alguem se habilita a ajudar? :smiley:

Porque tão complicado u.u

Tenta colocar isso

hibernate.hbm2ddl.auto=update

Nas properties do hibernate…

O problema é só que nao tá criando a tabela né?! mas o mapeamento funcionou…

(só um parânteses que eu faço em todo tópico onde é pertinente falar do next

No next…

pra configurar o hibernate voce só precisa de um arquivo connection.properties com o seguinte

driver=org.postgresql.Driver url=jdbc:postgresql://localhost/app username=postgres password=123456

E se quiser criar o banco automaticamente um hibernate.properties

hibernate.hbm2ddl.auto=update

Acabou a configuração do hibernate… já vai estar tudo funcionando… com dialeto e tudo mais… e as classes serao detectadas automaticamente… os sqls serao mostrados no console

fim dos parenteses) :smiley:

uhm… já tentei com update, mas nada funciona…

ja estou meio perdido

Talvez o hibernate nao esteja lendo sua classe…

Experimente fazer uma query…

from Produto e veja o erro que dá… e posta aqui

Tipo, aqui no topico tem todas classes utilizadas…

Eu só to querendo montar um projeto para ter como base de estudos…

Projeto simples de CRUD… Create, Read, Updade, Delete…
Só que não está saindo direito isso =/

Att. Jonas

Ignora o fato de nao ter criado a tabela…

Cria uma session do hibernate…

e com essa session execute a seguinte query:

E poste aqui os resultados…

Exception in thread “main” org.hibernate.hql.ast.QuerySyntaxException: Produto is not mapped [from Produto]

Haaaaaammmm

Então foi o que eu previ …

O hibernate nao tá mapeando suas classes…

Se nao tá mapeando… nao tem como criar as tabelas…


Agora vamos ver porque nao tá mapeando… apesar de já ter postado uma vez…

Posta o seu main aí… e os xmls e uma classe pra gente ver…

vou começar com a classe produto em questão:

package br.com.caelum.hibernate;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.Entity;

@Entity
@Table(name="produtos")
public class Produto {

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Basic(optional = false)
	@Column(name = "id")
	private Long id;

	@Basic(optional = false)
	@Column(name = "nome")	
	private String nome;

	@Basic(optional = false)
	@Column(name = "preco") 
	private double preco;

	@Basic(optional = false)
	@Column(name = "quantidade")
	private int quantidade;

	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public double getPreco() {
		return preco;
	}
	public void setPreco(double preco) {
		this.preco = preco;
	}
	public int getQuantidade() {
		return quantidade;
	}
	public void setQuantidade(int quantidade) {
		this.quantidade = quantidade;
	}
	
}

agora o main e properties

package br.com.caelum.hibernate;

import org.hibernate.Session;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class GeraTabelas {
	
	public static void main(String[] args) {
		
		// Cria uma configuração para a classe Produto
		AnnotationConfiguration cfg = new AnnotationConfiguration();
		cfg.addAnnotatedClass(Produto.class);
		SchemaExport se = new SchemaExport(cfg);
		se.create(true, true);
		
		Session session = new HibernateUtil().getSession();
		session.createQuery("from Produto");
		
		/*Produto p = new Produto();
		p.setNome("Nome aqui");
		p.setPreco(100.50);
		p.setQuantidade(3);
		Session session = new HibernateUtil().getSession();
		session.save(p);
		System.out.println("ID do produto: " + p.getId());
		session.close();*/
	}
}
<?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.MySQLDialect</property>  
     	<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>  
     	<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/caelum</property>  
     	<property name="hibernate.connection.username">root</property>  
		<property name="hibernate.connection.password">root</property>  
     	<property name="hibernate.use_identifier_rollback">true</property>  
     	<property name="hibernate.transaction.auto_close_session">true</property>  
     	<property name="hibernate.transaction.flush_before_completion">true</property>  
     	<property name="hibernate.bytecode.use_reflection_optimizer">true</property>

     	<mapping class="br.com.caelum.hibernate.Produto"/>
    </session-factory>
</hibernate-configuration>
hibernate.dialect org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class com.mysql.jdbc.Driver
hibernate.connection.url jdbc:mysql://localhost:3306/caelum
hibernate.connection.username root
hibernate.connection.password root
hibernate.show_sql true
hibernate.format_sql true
hibernate.hbm2dll.auto update

e o HibernateUtil

package br.com.caelum.hibernate;

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

public class HibernateUtil {
	private static SessionFactory factory;
	
	 static {
	 AnnotationConfiguration cfg = new AnnotationConfiguration();
	 cfg.addAnnotatedClass(Produto.class);
	 factory = cfg.buildSessionFactory();
	 }
	
	 public Session getSession() {
	 return factory.openSession();
	 }
}

Esse cfg.addAnnotatedClass(Produto.class); voce colocou agora, ou já tinha??

Se colocou agora… experimenta rodar denovo e poste os resultados

outra coisa… no seu hibernate.properties cade o sinal de igual ???

hibernate.dialect[b]=[/b]org.hibernate.dialect.MySQLDialect hibernate.connection.driver_class[b]=[/b]com.mysql.jdbc.Driver hibernate.connection.url[b]=[/b]jdbc:mysql://localhost:3306/caelum hibernate.connection.username=root hibernate.connection.password=root hibernate.show_sql=true hibernate.format_sql=true hibernate.hbm2dll.auto=update No seu arquivo tem o igual?

Sim… já tinha vou postar os resultados

16/03/2010 17:13:27 org.hibernate.cfg.annotations.Version <clinit>
INFO: Hibernate Annotations 3.5.0-CR-2
16/03/2010 17:13:27 org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.5.0-CR-2
16/03/2010 17:13:27 org.hibernate.cfg.Environment <clinit>
INFO: loaded properties from resource hibernate.properties: {hibernate.connection.password=****, hibernate.jdbc.batch_versioned_data=true, hibernate.query.substitutions=yes 'Y', no 'N', hibernate.cache.region_prefix=hibernate.test, hibernate.show_sql=true, hibernate.proxool.pool_alias=pool1, hibernate.bytecode.use_reflection_optimizer=true, hibernate.hbm2ddl.auto=validate, hibernate.hbm2dll.auto=update, hibernate.jdbc.use_streams_for_binary=true, hibernate.max_fetch_depth=1, hibernate.format_sql=true, hibernate.connection.pool_size=1, hibernate.connection.username=root, hibernate.connection.driver_class=com.mysql.jdbc.Driver, hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider, hibernate.dialect=org.hibernate.dialect.MySQLDialect, hibernate.connection.url=jdbc:mysql://localhost:3306/caelum}
16/03/2010 17:13:27 org.hibernate.cfg.Environment <clinit>
INFO: using java.io streams to persist binary types
16/03/2010 17:13:27 org.hibernate.cfg.Environment <clinit>
INFO: using bytecode reflection optimizer
16/03/2010 17:13:27 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : javassist
16/03/2010 17:13:27 org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
16/03/2010 17:13:27 org.hibernate.annotations.common.Version <clinit>
INFO: Hibernate Commons Annotations 3.2.0-SNAPSHOT
16/03/2010 17:13:27 org.hibernate.dialect.Dialect <init>
INFO: Using dialect: org.hibernate.dialect.MySQLDialect
16/03/2010 17:13:27 org.hibernate.cfg.AnnotationConfiguration applyHibernateValidatorLegacyConstraintsOnDDL
INFO: Hibernate Validator not found: ignoring
16/03/2010 17:13:27 org.hibernate.tool.hbm2ddl.SchemaExport execute
INFO: Running hbm2ddl schema export
16/03/2010 17:13:27 org.hibernate.tool.hbm2ddl.SchemaExport execute
INFO: exporting generated schema to database
16/03/2010 17:13:27 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Using Hibernate built-in connection pool (not for production use!)
16/03/2010 17:13:27 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Hibernate connection pool size: 1
16/03/2010 17:13:27 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: autocommit mode: false
16/03/2010 17:13:27 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/caelum
16/03/2010 17:13:27 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: connection properties: {user=root, password=****}
16/03/2010 17:13:27 org.hibernate.tool.hbm2ddl.SchemaExport execute
INFO: schema export complete
16/03/2010 17:13:27 org.hibernate.connection.DriverManagerConnectionProvider close
INFO: cleaning up connection pool: jdbc:mysql://localhost:3306/caelum
16/03/2010 17:13:27 org.hibernate.cfg.search.HibernateSearchEventListenerRegister enableHibernateSearch
INFO: Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
16/03/2010 17:13:27 org.hibernate.cfg.AnnotationConfiguration applyHibernateValidatorLegacyConstraintsOnDDL
INFO: Hibernate Validator not found: ignoring
16/03/2010 17:13:27 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Using Hibernate built-in connection pool (not for production use!)
16/03/2010 17:13:27 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Hibernate connection pool size: 1
16/03/2010 17:13:27 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: autocommit mode: false
16/03/2010 17:13:27 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/caelum
16/03/2010 17:13:27 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: connection properties: {user=root, password=****}
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: RDBMS: MySQL, version: 5.1.33-community
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.1.12 ( Revision: ${bzr.revision-id} )
16/03/2010 17:13:27 org.hibernate.dialect.Dialect <init>
INFO: Using dialect: org.hibernate.dialect.MySQLDialect
16/03/2010 17:13:27 org.hibernate.engine.jdbc.JdbcSupportLoader useContextualLobCreation
INFO: Disabling contextual LOB creation as JDBC driver reported JDBC version [3] less than 4
16/03/2010 17:13:27 org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory
INFO: Using default transaction strategy (direct JDBC transactions)
16/03/2010 17:13:27 org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic flush during beforeCompletion(): disabled
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic session close at end of transaction: disabled
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch size: 15
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch updates for versioned data: enabled
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Scrollable result sets: enabled
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC3 getGeneratedKeys(): enabled
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Connection release mode: auto
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Maximum outer join fetch depth: 1
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default batch fetch size: 1
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Generate SQL with comments: disabled
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL updates by primary key: disabled
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL inserts for batching: disabled
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory
INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
16/03/2010 17:13:27 org.hibernate.hql.ast.ASTQueryTranslatorFactory <init>
INFO: Using ASTQueryTranslatorFactory
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query language substitutions: {yes='Y', no='N'}
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JPA-QL strict compliance: disabled
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Second-level cache: enabled
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query cache: disabled
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory createRegionFactory
INFO: Cache region factory : org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge
16/03/2010 17:13:27 org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge <init>
INFO: Cache provider: org.hibernate.cache.HashtableCacheProvider
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Optimize cache for minimal puts: disabled
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Cache region prefix: hibernate.test
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Structured second-level cache entries: disabled
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Echoing all SQL to stdout
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Statistics: disabled
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Deleted entity synthetic identifier rollback: disabled
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default entity-mode: pojo
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Named query checking : enabled
16/03/2010 17:13:27 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Check Nullability in Core (should be disabled when Bean Validation is on): enabled
16/03/2010 17:13:27 org.hibernate.impl.SessionFactoryImpl <init>
INFO: building session factory
16/03/2010 17:13:27 org.hibernate.impl.SessionFactoryObjectFactory addInstance
INFO: Not binding factory to JNDI, no JNDI name configured
16/03/2010 17:13:27 org.hibernate.tool.hbm2ddl.SchemaValidator validate
INFO: Running schema validator
16/03/2010 17:13:27 org.hibernate.tool.hbm2ddl.SchemaValidator validate
INFO: fetching database metadata
Exception in thread "main" org.hibernate.hql.ast.QuerySyntaxException: Produto is not mapped [from Produto]
	at org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:181)
	at org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:111)
	at org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:93)
	at org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:313)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3353)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:3237)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:724)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:575)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:292)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:235)
	at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:254)
	at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:185)
	at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136)
	at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:101)
	at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:80)
	at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:98)
	at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156)
	at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:135)
	at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1760)
	at br.com.caelum.hibernate.GeraTabelas.main(GeraTabelas.java:18)

Altera o seu main pra ficar assim:

[code]

package br.com.caelum.hibernate;

import org.hibernate.Session;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class GeraTabelas {

public static void main(String[] args) {  
      
    // Cria uma configuração para a classe Produto  
    //AnnotationConfiguration cfg = new AnnotationConfiguration();  
    //cfg.addAnnotatedClass(Produto.class);  
    //SchemaExport se = new SchemaExport(cfg);  
   // se.create(true, true);  
      
    Session session = new HibernateUtil().getSession();  
    session.createQuery("from Produto");  
      
    /*Produto p = new Produto(); 
    p.setNome("Nome aqui"); 
    p.setPreco(100.50); 
    p.setQuantidade(3); 
    Session session = new HibernateUtil().getSession(); 
    session.save(p); 
    System.out.println("ID do produto: " + p.getId()); 
    session.close();*/  
}  

} [/code]

Resultado com Main alterado:

16/03/2010 17:18:16 org.hibernate.cfg.annotations.Version <clinit>
INFO: Hibernate Annotations 3.5.0-CR-2
16/03/2010 17:18:16 org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.5.0-CR-2
16/03/2010 17:18:16 org.hibernate.cfg.Environment <clinit>
INFO: loaded properties from resource hibernate.properties: {hibernate.connection.password=****, hibernate.jdbc.batch_versioned_data=true, hibernate.query.substitutions=yes 'Y', no 'N', hibernate.cache.region_prefix=hibernate.test, hibernate.show_sql=true, hibernate.proxool.pool_alias=pool1, hibernate.bytecode.use_reflection_optimizer=true, hibernate.hbm2ddl.auto=validate, hibernate.hbm2dll.auto=update, hibernate.jdbc.use_streams_for_binary=true, hibernate.max_fetch_depth=1, hibernate.format_sql=true, hibernate.connection.pool_size=1, hibernate.connection.username=root, hibernate.connection.driver_class=com.mysql.jdbc.Driver, hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider, hibernate.dialect=org.hibernate.dialect.MySQLDialect, hibernate.connection.url=jdbc:mysql://localhost:3306/caelum}
16/03/2010 17:18:16 org.hibernate.cfg.Environment <clinit>
INFO: using java.io streams to persist binary types
16/03/2010 17:18:16 org.hibernate.cfg.Environment <clinit>
INFO: using bytecode reflection optimizer
16/03/2010 17:18:16 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : javassist
16/03/2010 17:18:16 org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
16/03/2010 17:18:16 org.hibernate.annotations.common.Version <clinit>
INFO: Hibernate Commons Annotations 3.2.0-SNAPSHOT
16/03/2010 17:18:16 org.hibernate.cfg.search.HibernateSearchEventListenerRegister enableHibernateSearch
INFO: Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
16/03/2010 17:18:17 org.hibernate.cfg.AnnotationConfiguration applyHibernateValidatorLegacyConstraintsOnDDL
INFO: Hibernate Validator not found: ignoring
16/03/2010 17:18:17 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Using Hibernate built-in connection pool (not for production use!)
16/03/2010 17:18:17 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Hibernate connection pool size: 1
16/03/2010 17:18:17 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: autocommit mode: false
16/03/2010 17:18:17 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/caelum
16/03/2010 17:18:17 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: connection properties: {user=root, password=****}
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: RDBMS: MySQL, version: 5.1.33-community
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.1.12 ( Revision: ${bzr.revision-id} )
16/03/2010 17:18:17 org.hibernate.dialect.Dialect <init>
INFO: Using dialect: org.hibernate.dialect.MySQLDialect
16/03/2010 17:18:17 org.hibernate.engine.jdbc.JdbcSupportLoader useContextualLobCreation
INFO: Disabling contextual LOB creation as JDBC driver reported JDBC version [3] less than 4
16/03/2010 17:18:17 org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory
INFO: Using default transaction strategy (direct JDBC transactions)
16/03/2010 17:18:17 org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic flush during beforeCompletion(): disabled
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic session close at end of transaction: disabled
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch size: 15
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch updates for versioned data: enabled
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Scrollable result sets: enabled
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC3 getGeneratedKeys(): enabled
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Connection release mode: auto
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Maximum outer join fetch depth: 1
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default batch fetch size: 1
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Generate SQL with comments: disabled
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL updates by primary key: disabled
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL inserts for batching: disabled
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory
INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
16/03/2010 17:18:17 org.hibernate.hql.ast.ASTQueryTranslatorFactory <init>
INFO: Using ASTQueryTranslatorFactory
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query language substitutions: {yes='Y', no='N'}
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JPA-QL strict compliance: disabled
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Second-level cache: enabled
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query cache: disabled
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory createRegionFactory
INFO: Cache region factory : org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge
16/03/2010 17:18:17 org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge <init>
INFO: Cache provider: org.hibernate.cache.HashtableCacheProvider
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Optimize cache for minimal puts: disabled
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Cache region prefix: hibernate.test
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Structured second-level cache entries: disabled
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Echoing all SQL to stdout
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Statistics: disabled
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Deleted entity synthetic identifier rollback: disabled
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default entity-mode: pojo
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Named query checking : enabled
16/03/2010 17:18:17 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Check Nullability in Core (should be disabled when Bean Validation is on): enabled
16/03/2010 17:18:17 org.hibernate.impl.SessionFactoryImpl <init>
INFO: building session factory
16/03/2010 17:18:17 org.hibernate.impl.SessionFactoryObjectFactory addInstance
INFO: Not binding factory to JNDI, no JNDI name configured
16/03/2010 17:18:17 org.hibernate.tool.hbm2ddl.SchemaValidator validate
INFO: Running schema validator
16/03/2010 17:18:17 org.hibernate.tool.hbm2ddl.SchemaValidator validate
INFO: fetching database metadata
Exception in thread "main" org.hibernate.hql.ast.QuerySyntaxException: Produto is not mapped [from Produto]
	at org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:181)
	at org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:111)
	at org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:93)
	at org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:313)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3353)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:3237)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:724)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:575)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:292)
	at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:235)
	at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:254)
	at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:185)
	at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136)
	at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:101)
	at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:80)
	at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:98)
	at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156)
	at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:135)
	at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1760)
	at br.com.caelum.hibernate.GeraTabelas.main(GeraTabelas.java:48)

Muito estranho esse erro… tinha que funcionar… (anterioemente já tinha que funcionar… a alteracao do main é só pra eliminar código duplicado)

Há… experimenta o seguinte

na classe produto onde tem

troca por