Hibernate urgente - gerar Tabelas

Pessoal, configurei tudo certinho no habernate e no eclipse.
Quando rodo o método para gerar tabelas, ele me da as segintes linhas e não gera as tabelas:

0 [main] INFO org.hibernate.cfg.annotations.Version - Hibernate Annotations 3.3.1.GA 16 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.3.2.GA 31 [main] INFO org.hibernate.cfg.Environment - loaded properties from resource hibernate.properties: {hibernate.connection.driver_class=org.postgresql.Driver, hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider, hibernate.max_fetch_depth=1, hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect, hibernate.jdbc.use_streams_for_binary=true, hibernate.format_sql=true, hibernate.query.substitutions=yes 'Y', no 'N', hibernate.proxool.pool_alias=pool1, hibernate.connection.username=postgres, hibernate.cache.region_prefix=hibernate.test, hibernate.connection.url=jdbc:postgresql://localhost/allware, hibernate.show_sql=true, hibernate.bytecode.use_reflection_optimizer=false, hibernate.connection.password=****, hibernate.jdbc.batch_versioned_data=true, hibernate.connection.pool_size=1} 31 [main] INFO org.hibernate.cfg.Environment - using java.io streams to persist binary types 31 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist 31 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling 156 [main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.PostgreSQLDialect 281 [main] INFO org.hibernate.tool.hbm2ddl.SchemaExport - Running hbm2ddl schema export 281 [main] INFO org.hibernate.tool.hbm2ddl.SchemaExport - schema export complete

Hibernate.properties

[code]## PostgreSQL

hibernate.dialect org.hibernate.dialect.PostgreSQLDialect
hibernate.connection.driver_class org.postgresql.Driver
hibernate.connection.url jdbc:postgresql://localhost:5432/allware
hibernate.connection.username postgres
hibernate.connection.password postgre[/code]

Minha Classe que gera as tabelas

[code]package br.com.allware.testes.geral;

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

import br.com.allware.classes.modelos.Produto;

public class Teste {

public static void main(String[] args) {
	
	AnnotationConfiguration cfg = new AnnotationConfiguration();
	cfg.addAnnotatedClass(Produto.class);
	
	new SchemaExport(cfg).create(true, false);
}

}[/code]

Minha Classe de Produtos

[code]package br.com.allware.classes.modelos;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;

import org.hibernate.annotations.Entity;

@Entity
public class Produto {

@Id 
@GeneratedValue
private int codigo;

private String nome;
private Double preco;

public int getCodigo() {
	return codigo;
}
public void setCodigo(int codigo) {
	this.codigo = codigo;
}
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;
}

}
[/code]

Me ajudem por favor.

PW2

new SchemaExport(cfg).create(true, true);O primeiro parâmetro é para gerar o script, o segundo para exportá-lo para o banco, e por estar false, não gerava o banco. Tente assim que deve funcionar.

Flw! :thumbup:

Coloquei os dois parametros como True e agora a mensagem aumentou mais ainda naõ gerou a tabela de produtos:

0 [main] INFO org.hibernate.cfg.annotations.Version - Hibernate Annotations 3.3.1.GA
16 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.3.2.GA
32 [main] INFO org.hibernate.cfg.Environment - loaded properties from resource hibernate.properties: {hibernate.connection.driver_class=org.postgresql.Driver, hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider, hibernate.max_fetch_depth=1, hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect, hibernate.jdbc.use_streams_for_binary=true, hibernate.format_sql=true, hibernate.query.substitutions=yes ‘Y’, no ‘N’, hibernate.proxool.pool_alias=pool1, hibernate.connection.username=postgres, hibernate.cache.region_prefix=hibernate.test, hibernate.connection.url=jdbc:postgresql://localhost:5432/allware, hibernate.show_sql=true, hibernate.bytecode.use_reflection_optimizer=false, hibernate.connection.password=, hibernate.jdbc.batch_versioned_data=true, hibernate.connection.pool_size=1}
32 [main] INFO org.hibernate.cfg.Environment - using java.io streams to persist binary types
32 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
32 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
172 [main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.PostgreSQLDialect
282 [main] INFO org.hibernate.tool.hbm2ddl.SchemaExport - Running hbm2ddl schema export
282 [main] INFO org.hibernate.tool.hbm2ddl.SchemaExport - exporting generated schema to database
282 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
282 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 1
282 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - autocommit mode: false
297 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - using driver: org.postgresql.Driver at URL: jdbc:postgresql://localhost:5432/allware
297 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=postgres, password=
}
438 [main] INFO org.hibernate.tool.hbm2ddl.SchemaExport - schema export complete
438 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - cleaning up connection pool: jdbc:postgresql://localhost:5432/allware

coloca no arqivo de hibernate.properties a propriedade: hibernate.hbm2ddl.auto create e da uma testada.

Outra coisa, abaixo do @Entity, acho que tem que colocar @Table(name = "Produtos")

Nada ainda, o Show_SQL está como true e não mostra nenhum SQL.
Realmente ele não está criando a tabela.

Por favor, continuem me ajudando. Estou desesperado.

Abraços!
PW2

Segue o meu hibernate.properties completo.
Me ajudem por favor.

[code]######################

Query Language

######################

define query language constants / function names

hibernate.query.substitutions yes ‘Y’, no ‘N’

select the classic query parser

#hibernate.query.factory_class org.hibernate.hql.classic.ClassicQueryTranslatorFactory

#################

Platforms

#################

JNDI Datasource

#hibernate.connection.datasource jdbc/test
#hibernate.connection.username db2
#hibernate.connection.password db2

HypersonicSQL

#hibernate.dialect org.hibernate.dialect.HSQLDialect
#hibernate.connection.driver_class org.hsqldb.jdbcDriver
#hibernate.connection.username sa
#hibernate.connection.password
#hibernate.connection.url jdbc:hsqldb:./build/db/hsqldb/hibernate
#hibernate.connection.url jdbc:hsqldb:hsql://localhost
#hibernate.connection.url jdbc:hsqldb:test

H2 (www.h2database.com)

#hibernate.dialect org.hibernate.dialect.H2Dialect
#hibernate.connection.driver_class org.h2.Driver
#hibernate.connection.username sa
#hibernate.connection.password
#hibernate.connection.url jdbc:h2:mem:./build/db/h2/hibernate
#hibernate.connection.url jdbc:h2:testdb/h2test
#hibernate.connection.url jdbc:h2:mem:imdb1
#hibernate.connection.url jdbc:h2:tcp://dbserv:8084/sample;
#hibernate.connection.url jdbc:h2:ssl://secureserv:8085/sample;
#hibernate.connection.url jdbc:h2:ssl://secureserv/testdb;cipher=AES

MySQL

#hibernate.dialect org.hibernate.dialect.MySQLDialect
#hibernate.dialect org.hibernate.dialect.MySQLInnoDBDialect
#hibernate.dialect org.hibernate.dialect.MySQLMyISAMDialect
#hibernate.connection.driver_class com.mysql.jdbc.Driver
#hibernate.connection.url jdbc:mysql:///test
#hibernate.connection.username gavin
#hibernate.connection.password

Oracle

#hibernate.dialect org.hibernate.dialect.Oracle8iDialect
#hibernate.dialect org.hibernate.dialect.Oracle9iDialect
#hibernate.dialect org.hibernate.dialect.Oracle10gDialect
#hibernate.connection.driver_class oracle.jdbc.driver.OracleDriver
#hibernate.connection.username ora
#hibernate.connection.password ora
#hibernate.connection.url jdbc:oracle:thin:@localhost:1521:orcl
#hibernate.connection.url jdbc:oracle:thin:@localhost:1522:XE

PostgreSQL

hibernate.dialect org.hibernate.dialect.PostgreSQLDialect
hibernate.connection.driver_class org.postgresql.Driver
hibernate.connection.url jdbc:postgresql://localhost:5432/allware
hibernate.connection.username postgres
hibernate.connection.password postgre

DB2

#hibernate.dialect org.hibernate.dialect.DB2Dialect
#hibernate.connection.driver_class com.ibm.db2.jcc.DB2Driver
#hibernate.connection.driver_class COM.ibm.db2.jdbc.app.DB2Driver
#hibernate.connection.url jdbc:db2://localhost:50000/somename
#hibernate.connection.url jdbc:db2:somename
#hibernate.connection.username db2
#hibernate.connection.password db2

TimesTen

#hibernate.dialect org.hibernate.dialect.TimesTenDialect
#hibernate.connection.driver_class com.timesten.jdbc.TimesTenDriver
#hibernate.connection.url jdbc:timesten:direct:test
#hibernate.connection.username
#hibernate.connection.password

DB2/400

#hibernate.dialect org.hibernate.dialect.DB2400Dialect
#hibernate.connection.username user
#hibernate.connection.password password

Native driver

#hibernate.connection.driver_class COM.ibm.db2.jdbc.app.DB2Driver
#hibernate.connection.url jdbc:db2://systemname

Toolbox driver

#hibernate.connection.driver_class com.ibm.as400.access.AS400JDBCDriver
#hibernate.connection.url jdbc:as400://systemname

Derby (not supported!)

#hibernate.dialect org.hibernate.dialect.DerbyDialect
#hibernate.connection.driver_class org.apache.derby.jdbc.EmbeddedDriver
#hibernate.connection.username
#hibernate.connection.password
#hibernate.connection.url jdbc:derby:build/db/derby/hibernate;create=true

Sybase

#hibernate.dialect org.hibernate.dialect.SybaseDialect
#hibernate.connection.driver_class com.sybase.jdbc2.jdbc.SybDriver
#hibernate.connection.username sa
#hibernate.connection.password sasasa
#hibernate.connection.url jdbc:sybase:Tds:co3061835-a:5000/tempdb

Mckoi SQL

#hibernate.dialect org.hibernate.dialect.MckoiDialect
#hibernate.connection.driver_class com.mckoi.JDBCDriver
#hibernate.connection.url jdbc:mckoi:///
#hibernate.connection.url jdbc:mckoi:local://C:/mckoi1.0.3/db.conf
#hibernate.connection.username admin
#hibernate.connection.password nimda

SAP DB

#hibernate.dialect org.hibernate.dialect.SAPDBDialect
#hibernate.connection.driver_class com.sap.dbtech.jdbc.DriverSapDB
#hibernate.connection.url jdbc:sapdb://localhost/TST
#hibernate.connection.username TEST
#hibernate.connection.password TEST
#hibernate.query.substitutions yes ‘Y’, no ‘N’

MS SQL Server

#hibernate.dialect org.hibernate.dialect.SQLServerDialect
#hibernate.connection.username sa
#hibernate.connection.password sa

JSQL Driver

#hibernate.connection.driver_class com.jnetdirect.jsql.JSQLDriver
#hibernate.connection.url jdbc:JSQLConnect://1E1/test

JTURBO Driver

#hibernate.connection.driver_class com.newatlanta.jturbo.driver.Driver
#hibernate.connection.url jdbc:JTurbo://1E1:1433/test

WebLogic Driver

#hibernate.connection.driver_class weblogic.jdbc.mssqlserver4.Driver
#hibernate.connection.url jdbc:weblogic:mssqlserver4:1E1:1433

Microsoft Driver (not recommended!)

#hibernate.connection.driver_class com.microsoft.jdbc.sqlserver.SQLServerDriver
#hibernate.connection.url jdbc:microsoft:sqlserver://1E1;DatabaseName=test;SelectMethod=cursor

The New Microsoft Driver

#hibernate.connection.driver_class com.microsoft.sqlserver.jdbc.SQLServerDriver
#hibernate.connection.url jdbc:sqlserver://localhost

jTDS (since version 0.9)

#hibernate.connection.driver_class net.sourceforge.jtds.jdbc.Driver
#hibernate.connection.url jdbc:jtds:sqlserver://1E1/test

Interbase

#hibernate.dialect org.hibernate.dialect.InterbaseDialect
#hibernate.connection.username sysdba
#hibernate.connection.password masterkey

DO NOT specify hibernate.connection.sqlDialect

InterClient

#hibernate.connection.driver_class interbase.interclient.Driver
#hibernate.connection.url jdbc:interbase://localhost:3060/C:/firebird/test.gdb

Pure Java

#hibernate.connection.driver_class org.firebirdsql.jdbc.FBDriver
#hibernate.connection.url jdbc:firebirdsql:localhost/3050:/firebird/test.gdb

Pointbase

#hibernate.dialect org.hibernate.dialect.PointbaseDialect
#hibernate.connection.driver_class com.pointbase.jdbc.jdbcUniversalDriver
#hibernate.connection.url jdbc:pointbase:embedded:sample
#hibernate.connection.username PBPUBLIC
#hibernate.connection.password PBPUBLIC

Ingres

older versions (before Ingress 2006)

#hibernate.dialect org.hibernate.dialect.IngresDialect
#hibernate.connection.driver_class ca.edbc.jdbc.EdbcDriver
#hibernate.connection.url jdbc:edbc://localhost:II7/database
#hibernate.connection.username user
#hibernate.connection.password password

Ingres 2006 or later

#hibernate.dialect org.hibernate.dialect.IngresDialect
#hibernate.connection.driver_class com.ingres.jdbc.IngresDriver
#hibernate.connection.url jdbc:ingres://localhost:II7/database;CURSOR=READONLY;auto=multi
#hibernate.connection.username user
#hibernate.connection.password password

Mimer SQL

#hibernate.dialect org.hibernate.dialect.MimerSQLDialect
#hibernate.connection.driver_class com.mimer.jdbc.Driver
#hibernate.connection.url jdbc:mimer:multi1
#hibernate.connection.username hibernate
#hibernate.connection.password hibernate

InterSystems Cache

#hibernate.dialect org.hibernate.dialect.Cache71Dialect
#hibernate.connection.driver_class com.intersys.jdbc.CacheDriver
#hibernate.connection.username _SYSTEM
#hibernate.connection.password SYS
#hibernate.connection.url jdbc:Cache://127.0.0.1:1972/HIBERNATE

#################################

Hibernate Connection Pool

#################################

hibernate.connection.pool_size 1

###########################

C3P0 Connection Pool###

###########################

#hibernate.c3p0.max_size 2
#hibernate.c3p0.min_size 2
#hibernate.c3p0.timeout 5000
#hibernate.c3p0.max_statements 100
#hibernate.c3p0.idle_test_period 3000
#hibernate.c3p0.acquire_increment 2
#hibernate.c3p0.validate false

##############################

Proxool Connection Pool###

##############################

Properties for external configuration of Proxool

hibernate.proxool.pool_alias pool1

Only need one of the following

#hibernate.proxool.existing_pool true
#hibernate.proxool.xml proxool.xml
#hibernate.proxool.properties proxool.properties

#################################

Plugin ConnectionProvider

#################################

use a custom ConnectionProvider (if not set, Hibernate will choose a built-in ConnectionProvider using hueristics)

#hibernate.connection.provider_class org.hibernate.connection.DriverManagerConnectionProvider
#hibernate.connection.provider_class org.hibernate.connection.DatasourceConnectionProvider
#hibernate.connection.provider_class org.hibernate.connection.C3P0ConnectionProvider
#hibernate.connection.provider_class org.hibernate.connection.ProxoolConnectionProvider

#######################

Transaction API

#######################

Enable automatic flush during the JTA beforeCompletion() callback

(This setting is relevant with or without the Transaction API)

#hibernate.transaction.flush_before_completion

Enable automatic session close at the end of transaction

(This setting is relevant with or without the Transaction API)

#hibernate.transaction.auto_close_session

the Transaction API abstracts application code from the underlying JTA or JDBC transactions

#hibernate.transaction.factory_class org.hibernate.transaction.JTATransactionFactory
#hibernate.transaction.factory_class org.hibernate.transaction.JDBCTransactionFactory

to use JTATransactionFactory, Hibernate must be able to locate the UserTransaction in JNDI

default is java:comp/UserTransaction

you do NOT need this setting if you specify hibernate.transaction.manager_lookup_class

#jta.UserTransaction jta/usertransaction
#jta.UserTransaction javax.transaction.UserTransaction
#jta.UserTransaction UserTransaction

to use the second-level cache with JTA, Hibernate must be able to obtain the JTA TransactionManager

#hibernate.transaction.manager_lookup_class org.hibernate.transaction.JBossTransactionManagerLookup
#hibernate.transaction.manager_lookup_class org.hibernate.transaction.WeblogicTransactionManagerLookup
#hibernate.transaction.manager_lookup_class org.hibernate.transaction.WebSphereTransactionManagerLookup
#hibernate.transaction.manager_lookup_class org.hibernate.transaction.OrionTransactionManagerLookup
#hibernate.transaction.manager_lookup_class org.hibernate.transaction.ResinTransactionManagerLookup

##############################

Miscellaneous Settings

##############################

print all generated SQL to the console

hibernate.show_sql true

format SQL in log and console

hibernate.format_sql true

add comments to the generated SQL

#hibernate.use_sql_comments true

generate statistics

#hibernate.generate_statistics true

auto schema export

#hibernate.hbm2ddl.auto create-drop
hibernate.hbm2ddl.auto create
#hibernate.hbm2ddl.auto update
#hibernate.hbm2ddl.auto validate

specify a default schema and catalog for unqualified tablenames

#hibernate.default_schema test
#hibernate.default_catalog test

enable ordering of SQL UPDATEs by primary key

#hibernate.order_updates true

set the maximum depth of the outer join fetch tree

hibernate.max_fetch_depth 1

set the default batch size for batch fetching

#hibernate.default_batch_fetch_size 8

rollback generated identifier values of deleted entities to default values

#hibernate.use_identifer_rollback true

enable bytecode reflection optimizer (disabled by default)

#hibernate.bytecode.use_reflection_optimizer true

#####################

JDBC Settings

#####################

specify a JDBC isolation level

#hibernate.connection.isolation 4

enable JDBC autocommit (not recommended!)

#hibernate.connection.autocommit true

set the JDBC fetch size

#hibernate.jdbc.fetch_size 25

set the maximum JDBC 2 batch size (a nonzero value enables batching)

#hibernate.jdbc.batch_size 5
#hibernate.jdbc.batch_size 0

enable batch updates even for versioned data

hibernate.jdbc.batch_versioned_data true

enable use of JDBC 2 scrollable ResultSets (specifying a Dialect will cause Hibernate to use a sensible default)

#hibernate.jdbc.use_scrollable_resultset true

use streams when writing binary types to / from JDBC

hibernate.jdbc.use_streams_for_binary true

use JDBC 3 PreparedStatement.getGeneratedKeys() to get the identifier of an inserted row

#hibernate.jdbc.use_get_generated_keys false

choose a custom JDBC batcher

hibernate.jdbc.factory_class

enable JDBC result set column alias caching

(minor performance enhancement for broken JDBC drivers)

hibernate.jdbc.wrap_result_sets

choose a custom SQL exception converter

#hibernate.jdbc.sql_exception_converter

##########################

Second-level Cache

##########################

optimize chache for minimal “puts” instead of minimal “gets” (good for clustered cache)

#hibernate.cache.use_minimal_puts true

set a prefix for cache region names

hibernate.cache.region_prefix hibernate.test

disable the second-level cache

#hibernate.cache.use_second_level_cache false

enable the query cache

#hibernate.cache.use_query_cache true

store the second-level cache entries in a more human-friendly format

#hibernate.cache.use_structured_entries true

choose a cache implementation

#hibernate.cache.provider_class org.hibernate.cache.EhCacheProvider
#hibernate.cache.provider_class org.hibernate.cache.EmptyCacheProvider
hibernate.cache.provider_class org.hibernate.cache.HashtableCacheProvider
#hibernate.cache.provider_class org.hibernate.cache.TreeCacheProvider
#hibernate.cache.provider_class org.hibernate.cache.OSCacheProvider
#hibernate.cache.provider_class org.hibernate.cache.SwarmCacheProvider

choose a custom query cache implementation

#hibernate.cache.query_cache_factory

############

JNDI

############

specify a JNDI name for the SessionFactory

#hibernate.session_factory_name hibernate/session_factory

Hibernate uses JNDI to bind a name to a SessionFactory and to look up the JTA UserTransaction;

if hibernate.jndi.* are not specified, Hibernate will use the default InitialContext() which

is the best approach in an application server

#file system
#hibernate.jndi.class com.sun.jndi.fscontext.RefFSContextFactory
#hibernate.jndi.url file:/

#WebSphere
#hibernate.jndi.class com.ibm.websphere.naming.WsnInitialContextFactory
#hibernate.jndi.url iiop://localhost:900/

[/code]

Achei o problema:

import org.hibernate.annotations.Entity; Você deve usar o @Entity da JPA, não o do Hibernate.

import javax.persistence.Entity;Isso vai resolver.

Flw! :thumbup:

Cara era isso mesmo,
Agora me diga mais uma coisa,

Criei a tabela, e agora ela tem dados.
Gostaria de alterar a classe mudando o preço do produto de double pra String. Como refletir isso no banco de dados sem dar rop na tabela?

No mais muito obrigado pelas dicas, te devo essa!

Abraços!

PW2

Inclua no seu hibernate.properties a linha:

hibernate.hbm2ddl.auto updateAssim ele valida o que tem na base em relação aos mapeamentos quando a SessionFactory é criada. Mas não estou certo se ele vai atualizar a coluna se já existirem valores nela. E teste primeiro antes de fazer no banco de produção! :mrgreen:

Blz? Flw! :thumbup: