log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Exception in thread “main” org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:57)
at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39)
at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:426)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:128)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
at teste_hibernate.Main.main(Main.java:42)
Java Result: 1
/**
* Mantém o valor da propriedade id.
*/
private long id;
/**
* "Getter" para a propriedade id.
* @return Valor para a propriedade id.
*/
public long getId() {
return this.id;
}
/**
* "Setter" para a propriedade id.
* @param id Novo valor para a propriedade id.
*/
public void setId(long id) {
this.id = id;
}
/**
* Mantém o valor da propriedade nome.
*/
private String nome;
/**
* "Getter" para a propriedade nome.
* @return Valor para a propriedade nome.
*/
public String getNome() {
return this.nome;
}
/**
* "Setter" para a propriedade nome.
* @param nome Novo valor para a propriedade nome.
*/
public void setNome(String nome) {
this.nome = nome;
}
/**
* Mantém o valor da propriedade dataNascimento.
*/
private java.sql.Date dataNascimento;
/**
* "Getter" para a propriedade dataNascimento.
* @return Valor para a propriedade dataNascimento.
*/
public java.sql.Date getDataNascimento() {
return this.dataNascimento;
}
/**
* "Setter" para a propriedade dataNascimento.
* @param dataNascimento Novo valor para a propriedade dataNascimento.
*/
public void setDataNascimento(java.sql.Date dataNascimento) {
this.dataNascimento = dataNascimento;
}
/**
* Mantém o valor da propriedade email.
*/
private String email;
/**
* "Getter" para a propriedade endereco.
* @return Valor para a propriedade endereco.
*/
public String getEmail() {
return this.email;
}
/**
* "Setter" para a propriedade endereco.
* @param endereco Novo valor para a propriedade endereco.
*/
public void setEmail(String email) {
this.email = email;
}
/**
* Mantém o valor da propriedade telefone.
*/
private String telefone;
/**
* "Getter" para a propriedade telefone.
* @return Valor para a propriedade telefone.
*/
public String getTelefone() {
return this.telefone;
}
/**
* "Setter" para a propriedade telefone.
* @param telefone Novo valor para a propriedade telefone.
*/
public void setTelefone(String telefone) {
this.telefone = telefone;
}
Para ter maiores detalhes sobre seu erro, ative o log4J também,
para isso contando que os jars estão corretos, coloque este arquivo na raiz do seu src:
log4j.properties
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
# set root logger level to debug and its only appender to mtf
log4j.rootLogger=INFO,development
#,email,R
# only for development purposes
log4j.appender.development=org.apache.log4j.ConsoleAppender
log4j.appender.development.layout=org.apache.log4j.PatternLayout
log4j.appender.development.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p [%t] (%F:%L) - %m%n
2008-01-08 11:21:28 INFO [main] (Environment.java:514) - Hibernate 3.2.5
2008-01-08 11:21:28 INFO [main] (Environment.java:547) - hibernate.properties not found
2008-01-08 11:21:28 INFO [main] (Environment.java:681) - Bytecode provider name : cglib
2008-01-08 11:21:28 INFO [main] (Environment.java:598) - using JDK 1.4 java.sql.Timestamp handling
2008-01-08 11:21:28 INFO [main] (Configuration.java:585) - Reading mappings from resource: teste_hibernate/Pessoa.hbm.xml
2008-01-08 11:21:28 INFO [main] (Configuration.java:530) - Reading mappings from resource: teste_hibernate/Pessoa.hbm.xml
2008-01-08 11:21:29 INFO [main] (HbmBinder.java:300) - Mapping class: teste_hibernate.Pessoa -> pessoa
2008-01-08 11:21:29 WARN [main] (UserSuppliedConnectionProvider.java:23) - No connection properties specified - the user must supply JDBC connections
Exception in thread "main" org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:57)
at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39)
at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:426)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:128)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
at teste_hibernate.Main.main(Main.java:42)
Java Result: 1
Eu coloquei o hibernate.properties na raiz do src com o seguinte configuração:
######################
### Query Language ###
######################
## define query language constants / function names
hibernate.query.substitutions yes 'Y', no 'N'
#################
### Platforms ###
#################
## PostgreSQL
hibernate.dialect org.hibernate.dialect.PostgreSQLDialect
hibernate.connection.driver_class org.postgresql.Driver
hibernate.connection.url jdbc:postgresql://localhost/hibernate
hibernate.connection.username josue
hibernate.connection.password 12345
#################################
### Hibernate Connection Pool ###
#################################
hibernate.connection.pool_size 1
##############################
### Proxool Connection Pool###
##############################
## Properties for external configuration of Proxool
hibernate.proxool.pool_alias pool1
##############################
### Miscellaneous Settings ###
##############################
## print all generated SQL to the console
hibernate.show_sql true
## format SQL in log and console
hibernate.format_sql true
## set the maximum depth of the outer join fetch tree
hibernate.max_fetch_depth 1
## enable batch updates even for versioned data
hibernate.jdbc.batch_versioned_data true
## use streams when writing binary types to / from JDBC
hibernate.jdbc.use_streams_for_binary true
##########################
### Second-level Cache ###
##########################
## set a prefix for cache region names
hibernate.cache.region_prefix hibernate.test
## choose a cache implementation
hibernate.cache.provider_class org.hibernate.cache.HashtableCacheProvider
Agora é outro erro, da uma olhada no stacktrace :?
2008-01-08 11:35:59 INFO [main] (Environment.java:514) - Hibernate 3.2.5
2008-01-08 11:35:59 INFO [main] (Environment.java:532) - 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=josue, hibernate.cache.region_prefix=hibernate.test, hibernate.connection.url=jdbc:postgresql://localhost/hibernate, hibernate.show_sql=true, hibernate.bytecode.use_reflection_optimizer=false, hibernate.connection.password=****, hibernate.jdbc.batch_versioned_data=true, hibernate.connection.pool_size=1}
2008-01-08 11:35:59 INFO [main] (Environment.java:563) - using java.io streams to persist binary types
2008-01-08 11:35:59 INFO [main] (Environment.java:681) - Bytecode provider name : cglib
2008-01-08 11:35:59 INFO [main] (Environment.java:598) - using JDK 1.4 java.sql.Timestamp handling
2008-01-08 11:35:59 INFO [main] (Configuration.java:585) - Reading mappings from resource: teste_hibernate/Pessoa.hbm.xml
2008-01-08 11:35:59 INFO [main] (Configuration.java:530) - Reading mappings from resource: teste_hibernate/Pessoa.hbm.xml
2008-01-08 11:36:00 INFO [main] (HbmBinder.java:300) - Mapping class: teste_hibernate.Pessoa -> pessoa
2008-01-08 11:36:00 INFO [main] (DriverManagerConnectionProvider.java:41) - Using Hibernate built-in connection pool (not for production use!)
2008-01-08 11:36:00 INFO [main] (DriverManagerConnectionProvider.java:42) - Hibernate connection pool size: 1
2008-01-08 11:36:00 INFO [main] (DriverManagerConnectionProvider.java:45) - autocommit mode: false
2008-01-08 11:36:00 INFO [main] (DriverManagerConnectionProvider.java:80) - using driver: org.postgresql.Driver at URL: jdbc:postgresql://localhost/hibernate
2008-01-08 11:36:00 INFO [main] (DriverManagerConnectionProvider.java:86) - connection properties: {user=josue, password=****}
2008-01-08 11:36:00 WARN [main] (SettingsFactory.java:117) - Could not obtain connection metadata
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost/hibernate
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:84)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
at teste_hibernate.Main.main(Main.java:42)
2008-01-08 11:36:01 INFO [main] (Dialect.java:152) - Using dialect: org.hibernate.dialect.PostgreSQLDialect
2008-01-08 11:36:01 INFO [main] (TransactionFactoryFactory.java:31) - Using default transaction strategy (direct JDBC transactions)
2008-01-08 11:36:01 INFO [main] (TransactionManagerLookupFactory.java:33) - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:143) - Automatic flush during beforeCompletion(): disabled
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:147) - Automatic session close at end of transaction: disabled
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:162) - Scrollable result sets: disabled
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:170) - JDBC3 getGeneratedKeys(): disabled
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:178) - Connection release mode: auto
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:202) - Maximum outer join fetch depth: 1
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:205) - Default batch fetch size: 1
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:209) - Generate SQL with comments: disabled
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:213) - Order SQL updates by primary key: disabled
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:217) - Order SQL inserts for batching: disabled
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:386) - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
2008-01-08 11:36:01 INFO [main] (ASTQueryTranslatorFactory.java:24) - Using ASTQueryTranslatorFactory
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:225) - Query language substitutions: {yes='Y', no='N'}
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:230) - JPA-QL strict compliance: disabled
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:235) - Second-level cache: enabled
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:239) - Query cache: disabled
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:373) - Cache provider: org.hibernate.cache.HashtableCacheProvider
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:254) - Optimize cache for minimal puts: disabled
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:259) - Cache region prefix: hibernate.test
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:263) - Structured second-level cache entries: disabled
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:283) - Echoing all SQL to stdout
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:290) - Statistics: disabled
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:294) - Deleted entity synthetic identifier rollback: disabled
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:309) - Default entity-mode: pojo
2008-01-08 11:36:01 INFO [main] (SettingsFactory.java:313) - Named query checking : enabled
2008-01-08 11:36:01 INFO [main] (SessionFactoryImpl.java:161) - building session factory
2008-01-08 11:36:01 INFO [main] (PojoInstantiator.java:61) - no default (no-argument) constructor for class: teste_hibernate.Pessoa (class must be instantiated by Interceptor)
2008-01-08 11:36:02 INFO [main] (SessionFactoryObjectFactory.java:82) - Not binding factory to JNDI, no JNDI name configured
2008-01-08 11:36:02 WARN [main] (JDBCExceptionReporter.java:77) - SQL Error: 0, SQLState: 08001
2008-01-08 11:36:02 ERROR [main] (JDBCExceptionReporter.java:78) - No suitable driver found for jdbc:postgresql://localhost/hibernate
Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cannot open connection
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:74)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:426)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:119)
at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:57)
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1326)
at teste_hibernate.Main.testeInsercao(Main.java:26)
at teste_hibernate.Main.main(Main.java:44)
Caused by: java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost/hibernate
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:423)
... 6 more
Java Result: 1
Então eu vou seguir a melhor solução - retirar o hibernate.properties e continuar da onde eu estava.
O que pode ser aquele erro? As configurações do .cfg estão certas?
2008-01-08 11:36:00 INFO [main] (DriverManagerConnectionProvider.java:86) - connection properties: {user=josue, password=****}
2008-01-08 11:36:00 WARN [main] (SettingsFactory.java:117) - Could not obtain connection metadata
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost/hibernate
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:84)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
at teste_hibernate.Main.main(Main.java:42)
Java Result: 1
[/quote]
Antes de mudar para o .cfg, verifique a URL de conexão com o banco está sem a porta do postgres
Ex:
“jdbc:postgresql://localhost:5432/agenda”;
O seu usuário e senha também.
Teste assim antes, se der certo use o .cfg.xml dae!