Hi,
My configurion and error log .
Hibernate version:
3.1beta2 and Hibernate Annotations 3.1 beta 4
Mapping documents:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="dialect">
org.hibernate.dialect.PostgreSQLDialect
</property>
<property name="connection.driver_class">
org.postgresql.Driver
</property>
<property name="connection.username">demo</property>
<property name="connection.password">demo</property>
<property name="connection.url">
jdbc:postgresql://localhost/demo
</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">create</property>
<mapping class="com.demo.db.data.Debiteur" />
<mapping class="com.demo.db.data.Crediteur" />
<mapping class="com.demo.db.data.Orders" />
<mapping class="com.demo.db.data.Orderregels" />
<mapping class="com.demo.db.data.Factuur" />
</session-factory>
</hibernate-configuration>
Code between sessionFactory.openSession() and session.close():
public class HibernateUtil {
private static final SessionFactory sessionFactory;
public static final ThreadLocal thread_session = new ThreadLocal();
static {
try {
AnnotationConfiguration ac = new AnnotationConfiguration();
ac.configure();
ac.buildSettings();
ac.buildMappings();
sessionFactory = ac.buildSessionFactory();
} catch (Throwable e) {
e.printStackTrace();
throw new ExceptionInInitializerError(e);
}
}
@SuppressWarnings("unchecked")
public static Session getSession() throws HibernateException {
Session s = (Session) thread_session.get();
// Open a new Session, if this thread has none yet
if (s == null) {
s = sessionFactory.openSession();
// Store it in the ThreadLocal variable
thread_session.set(s);
}
return s;
}
@SuppressWarnings("unchecked")
public static void closeSession() throws HibernateException {
Session s = (Session) thread_session.get();
if (s != null)
s.close();
thread_session.set(null);
}
}
Full stack trace of any exception that occurs:
29 aug 2005 16:37:36,173 INFO org.hibernate.cfg.Environment [main] (Environment.java:468) - Hibernate 3.1 beta 2
29 aug 2005 16:37:36,188 INFO org.hibernate.cfg.Environment [main] (Environment.java:481) - hibernate.properties not found
29 aug 2005 16:37:36,204 INFO org.hibernate.cfg.Environment [main] (Environment.java:514) - using CGLIB reflection optimizer
29 aug 2005 16:37:36,204 INFO org.hibernate.cfg.Environment [main] (Environment.java:544) - using JDK 1.4 java.sql.Timestamp handling
29 aug 2005 16:37:36,938 INFO org.hibernate.cfg.Configuration [main] (Configuration.java:1212) - configuring from resource: /hibernate.cfg.xml
29 aug 2005 16:37:36,954 INFO org.hibernate.cfg.Configuration [main] (Configuration.java:1180) - Configuration resource: /hibernate.cfg.xml
29 aug 2005 16:37:37,704 DEBUG org.hibernate.util.DTDEntityResolver [main] (DTDEntityResolver.java:42) - trying to locate
http://hibernate.sourceforge.net/hibern ... on-3.0.dtd in classpath under org/hibernate/
29 aug 2005 16:37:37,720 DEBUG org.hibernate.util.DTDEntityResolver [main] (DTDEntityResolver.java:56) - found
http://hibernate.sourceforge.net/hibern ... on-3.0.dtd in classpath
29 aug 2005 16:37:37,813 DEBUG org.hibernate.cfg.Configuration [main] (Configuration.java:1164) - dialect=org.hibernate.dialect.PostgreSQLDialect
29 aug 2005 16:37:37,829 DEBUG org.hibernate.cfg.Configuration [main] (Configuration.java:1164) - connection.driver_class=org.postgresql.Driver
29 aug 2005 16:37:37,829 DEBUG org.hibernate.cfg.Configuration [main] (Configuration.java:1164) - connection.username=demo
29 aug 2005 16:37:37,829 DEBUG org.hibernate.cfg.Configuration [main] (Configuration.java:1164) - connection.password=demo
29 aug 2005 16:37:37,845 DEBUG org.hibernate.cfg.Configuration [main] (Configuration.java:1164) - connection.url=jdbc:postgresql://localhost/demo
29 aug 2005 16:37:37,845 DEBUG org.hibernate.cfg.Configuration [main] (Configuration.java:1164) - show_sql=true
29 aug 2005 16:37:37,845 DEBUG org.hibernate.cfg.Configuration [main] (Configuration.java:1164) - hbm2ddl.auto=create
29 aug 2005 16:37:37,845 DEBUG org.hibernate.cfg.AnnotationConfiguration [main] (AnnotationConfiguration.java:319) - null<-org.dom4j.tree.DefaultAttribute@f01771 [Attribute: name class value "com.demo.db.data.Debiteur"]
29 aug 2005 16:37:37,892 DEBUG org.hibernate.cfg.AnnotationConfiguration [main] (AnnotationConfiguration.java:319) - null<-org.dom4j.tree.DefaultAttribute@9c2715 [Attribute: name class value "com.demo.db.data.Crediteur"]
29 aug 2005 16:37:37,892 DEBUG org.hibernate.cfg.AnnotationConfiguration [main] (AnnotationConfiguration.java:319) - null<-org.dom4j.tree.DefaultAttribute@3a5794 [Attribute: name class value "com.demo.db.data.Orders"]
29 aug 2005 16:37:37,907 DEBUG org.hibernate.cfg.AnnotationConfiguration [main] (AnnotationConfiguration.java:319) - null<-org.dom4j.tree.DefaultAttribute@16ef71 [Attribute: name class value "com.demo.db.data.Orderregels"]
29 aug 2005 16:37:37,907 DEBUG org.hibernate.cfg.AnnotationConfiguration [main] (AnnotationConfiguration.java:319) - null<-org.dom4j.tree.DefaultAttribute@1c888d9 [Attribute: name class value "com.demo.db.data.Factuur"]
29 aug 2005 16:37:37,907 INFO org.hibernate.cfg.Configuration [main] (Configuration.java:1323) - Configured SessionFactory: null
29 aug 2005 16:37:40,298 INFO org.hibernate.connection.DriverManagerConnectionProvider [main] (DriverManagerConnectionProvider.java:41) - Using Hibernate built-in connection pool (not for production use!)
29 aug 2005 16:37:40,298 INFO org.hibernate.connection.DriverManagerConnectionProvider [main] (DriverManagerConnectionProvider.java:42) - Hibernate connection pool size: 20
29 aug 2005 16:37:40,298 INFO org.hibernate.connection.DriverManagerConnectionProvider [main] (DriverManagerConnectionProvider.java:45) - autocommit mode: false
29 aug 2005 16:37:40,313 INFO org.hibernate.connection.DriverManagerConnectionProvider [main] (DriverManagerConnectionProvider.java:80) - using driver: org.postgresql.Driver at URL: jdbc:postgresql://localhost/demo
29 aug 2005 16:37:40,313 INFO org.hibernate.connection.DriverManagerConnectionProvider [main] (DriverManagerConnectionProvider.java:83) - connection properties: {user=demo, password=demo}
29 aug 2005 16:37:40,329 DEBUG org.hibernate.connection.DriverManagerConnectionProvider [main] (DriverManagerConnectionProvider.java:93) - total checked-out connections: 0
29 aug 2005 16:37:40,329 DEBUG org.hibernate.connection.DriverManagerConnectionProvider [main] (DriverManagerConnectionProvider.java:109) - opening new JDBC connection
29 aug 2005 16:37:40,704 DEBUG org.hibernate.connection.DriverManagerConnectionProvider [main] (DriverManagerConnectionProvider.java:115) - created connection to: jdbc:postgresql://localhost/demo, Isolation Level: 2
29 aug 2005 16:37:40,720 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:77) - RDBMS: PostgreSQL, version: 8.0.3
29 aug 2005 16:37:40,735 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:78) - JDBC driver: PostgreSQL Native Driver, version: PostgreSQL 8.0 JDBC3 with SSL (build 311)
29 aug 2005 16:37:40,735 DEBUG org.hibernate.connection.DriverManagerConnectionProvider [main] (DriverManagerConnectionProvider.java:129) - returning connection to pool, pool size: 1
29 aug 2005 16:37:40,798 INFO org.hibernate.dialect.Dialect [main] (Dialect.java:100) - Using dialect: org.hibernate.dialect.PostgreSQLDialect
29 aug 2005 16:37:40,970 INFO org.hibernate.transaction.TransactionFactoryFactory [main] (TransactionFactoryFactory.java:31) - Using default transaction strategy (direct JDBC transactions)
29 aug 2005 16:37:40,985 INFO org.hibernate.transaction.TransactionManagerLookupFactory [main] (TransactionManagerLookupFactory.java:33) - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
29 aug 2005 16:37:40,985 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:125) - Automatic flush during beforeCompletion(): disabled
29 aug 2005 16:37:41,001 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:129) - Automatic session close at end of transaction: disabled
29 aug 2005 16:37:41,001 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:136) - JDBC batch size: 15
29 aug 2005 16:37:41,001 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:139) - JDBC batch updates for versioned data: disabled
29 aug 2005 16:37:41,001 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:144) - Scrollable result sets: enabled
29 aug 2005 16:37:41,001 DEBUG org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:148) - Wrap result sets: disabled
29 aug 2005 16:37:41,001 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:152) - JDBC3 getGeneratedKeys(): disabled
29 aug 2005 16:37:41,001 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:160) - Connection release mode: null
29 aug 2005 16:37:41,017 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:187) - Default batch fetch size: 1
29 aug 2005 16:37:41,017 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:191) - Generate SQL with comments: disabled
29 aug 2005 16:37:41,017 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:195) - Order SQL updates by primary key: disabled
29 aug 2005 16:37:41,017 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:338) - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
29 aug 2005 16:37:41,032 INFO org.hibernate.hql.ast.ASTQueryTranslatorFactory [main] (ASTQueryTranslatorFactory.java:21) - Using ASTQueryTranslatorFactory
29 aug 2005 16:37:41,048 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:203) - Query language substitutions: {}
29 aug 2005 16:37:41,048 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:209) - Second-level cache: enabled
29 aug 2005 16:37:41,048 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:213) - Query cache: disabled
29 aug 2005 16:37:41,048 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:325) - Cache provider: org.hibernate.cache.EhCacheProvider
29 aug 2005 16:37:41,079 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:228) - Optimize cache for minimal puts: disabled
29 aug 2005 16:37:41,079 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:237) - Structured second-level cache entries: disabled
29 aug 2005 16:37:41,095 DEBUG org.hibernate.exception.SQLExceptionConverterFactory [main] (SQLExceptionConverterFactory.java:52) - Using dialect defined converter
29 aug 2005 16:37:41,110 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:257) - Echoing all SQL to stdout
29 aug 2005 16:37:41,110 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:264) - Statistics: disabled
29 aug 2005 16:37:41,110 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:268) - Deleted entity synthetic identifier rollback: disabled
29 aug 2005 16:37:41,126 INFO org.hibernate.cfg.SettingsFactory [main] (SettingsFactory.java:283) - Default entity-mode: POJO
29 aug 2005 16:38:10,626 DEBUG org.hibernate.cfg.AnnotationConfiguration [main] (AnnotationConfiguration.java:180) - Executing first pass of annotated classes
java.lang.NoSuchMethodError: org.hibernate.cfg.Mappings.<init>(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/List;Ljava/util/List;Lorg/hibernate/cfg/NamingStrategy;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)V
at org.hibernate.cfg.ExtendedMappings.<init>(ExtendedMappings.java:48)
at org.hibernate.cfg.AnnotationConfiguration.createExtendedMappings(AnnotationConfiguration.java:131)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:194)
at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:934)
at com.demo.db.hibernate3.HibernateUtil.<clinit>(HibernateUtil.java:19)
at com.demo.test.HibernateTest.setupSession(HibernateTest.java:115)
at com.demo.test.HibernateTest.main(HibernateTest.java:31)
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.demo.db.hibernate3.HibernateUtil.<clinit>(HibernateUtil.java:24)
at com.demo.test.HibernateTest.setupSession(HibernateTest.java:115)
at com.demo.test.HibernateTest.main(HibernateTest.java:31)
Caused by: java.lang.NoSuchMethodError: org.hibernate.cfg.Mappings.<init>(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/List;Ljava/util/List;Lorg/hibernate/cfg/NamingStrategy;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)V
at org.hibernate.cfg.ExtendedMappings.<init>(ExtendedMappings.java:48)
at org.hibernate.cfg.AnnotationConfiguration.createExtendedMappings(AnnotationConfiguration.java:131)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:194)
at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:934)
at com.demo.db.hibernate3.HibernateUtil.<clinit>(HibernateUtil.java:19)
... 2 more
When i trie to follow the hibernate annotation doc for beta 4 all is working well without any annotation mapping but when i try to include any mapping within the hibernate .cfg.xml file the exception java.lang.NoSuchMethodError: is generated
Has any one an idea how to solve this problem ?
I changed the configuration mentioned in the documentation to
ac.configure();
ac.buildSettings();
ac.buildMappings();
because i got the error message. when i call acc.buildMappings(); the error is generated.
I even tested this with only one file same result
Sergio