Issue Details (XML | Word | Printable)

Key: HV-66
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Hardy Ferentschik
Reporter: Juergen Zimmermann
Votes: 2
Watchers: 5
Operations

If you were logged in you would be able to see more operations.
Hibernate Validator

3.1.0.CR1 incompatible with Hibernate 3.3.0

Created: 17/Aug/08 03:48 AM   Updated: 19/Feb/09 04:51 AM
Component/s: None
Affects Version/s: 3.1.0.CR1
Fix Version/s: 3.1.0.CR2

Time Tracking:
Not Specified

Environment: Hibernate 3.3.0, Hibernate Common Annotations 3.1.0.CR2, Hibernate Annotations 3.4.0.CR2, Hibernate EntityManager 3.4.0.CR2, Javassist, 3.8.1, CGLib 2.2, EHCache 1.5.0, SLF4J 1.5.2, JDK 1.6.0_07
Issue Links:
Duplicate
 


 Description  « Hide
I'm getting this stacktrace after upgrading from Hibernate 3.3.0.CR2 to 3.3.0:

java.lang.NoSuchMethodError: org.hibernate.event.PreUpdateEvent.getSource()Lorg/hibernate/engine/SessionImplementor;
at org.hibernate.validator.event.ValidateEventListener.onPreUpdate(ValidateEventListener.java:177)
at org.hibernate.action.EntityUpdateAction.preUpdate(EntityUpdateAction.java:237)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:88)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:64)
at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:996)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1141)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:65)
at de.hska.kundenverwaltung.db.KundenverwaltungDaoImpl.findKundenByNachname(KundenverwaltungDaoImpl.java:67)
at de.hska.kundenverwaltung.KundenverwaltungImpl.updateKunde(KundenverwaltungImpl.java:392)
at de.hska.kundenverwaltung.rest.KundenverwaltungResource.updateKunde(KundenverwaltungResource.java:194)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.jersey.impl.model.method.dispatch.EntityParamDispatchProvider$TypeOutInvoker._dispatch(EntityParamDispatchProvider.java:132)
at com.sun.jersey.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:81)
at com.sun.jersey.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:133)
at com.sun.jersey.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
at com.sun.jersey.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71)
at com.sun.jersey.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
at com.sun.jersey.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:64)
at com.sun.jersey.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)
at com.sun.jersey.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:650)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:309)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at de.hska.util.HskaFilter.doFilter(HskaFilter.java:46)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
at java.lang.Thread.run(Thread.java:619)

 All   Comments   Work Log   Change History   FishEye      Sort Order: Ascending order - Click to sort in descending order
Paul Gregoire added a comment - 20/Aug/08 12:04 PM
I grabbed the new validator jar from SF and it still gives me the same error, am i missing something?

java.lang.NoSuchMethodError: org.hibernate.event.PreInsertEvent.getSource()Lorg/hibernate/event/EventSource;
at org.hibernate.validator.event.ValidateEventListener.onPreInsert(ValidateEventListener.java:172)
at org.hibernate.action.EntityInsertAction.preInsert(EntityInsertAction.java:178)
at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:72)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
at org.hibernate.transaction.CacheSynchronization.beforeCompletion(CacheSynchronization.java:88)
at bitronix.tm.BitronixTransaction.fireBeforeCompletionEvent(BitronixTransaction.java:366)
at bitronix.tm.BitronixTransaction.commit(BitronixTransaction.java:142)
at bitronix.tm.BitronixTransactionManager.commit(BitronixTransactionManager.java:96)
at org.hibernate.transaction.JTATransaction.commit(JTATransaction.java:154)
at com.nbc.sports.dao.PlayerDao.createPlayer(PlayerDao.java:108)
at com.nbc.sports.DataLoaderTest.testPlayerDao(DataLoaderTest.java:170)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:76)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:76)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

Environmental stuff:

[INFO] Bitronix Transaction Manager version 1.3
[INFO] JVM unique ID: <spring-btm>
[INFO] recovery committed 0 dangling transaction(s) and rolled back 0 aborted transaction(s) on 1 resource(s) [jdbc/jtds]
[INFO] Using JTA UserTransaction: a BitronixTransactionManager with 0 in-flight transaction(s)
[INFO] Using JTA TransactionManager: a BitronixTransactionManager with 0 in-flight transaction(s)
[INFO] Hibernate 3.3.0.GA
[INFO] hibernate.properties not found
[INFO] Bytecode provider name : javassist
[INFO] using JDK 1.4 java.sql.Timestamp handling
[INFO] Hibernate Commons Annotations 3.1.0.CR2
[INFO] Building new Hibernate SessionFactory
[INFO] Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
[INFO] Initializing connection provider: org.springframework.orm.hibernate3.TransactionAwareDataSourceConnectionProvider
[INFO] RDBMS: Microsoft SQL Server, version: 10.00.1600
[INFO] JDBC driver: jTDS Type 4 JDBC Driver for MS SQL Server and Sybase, version: 1.2.2
[INFO] Using dialect: org.hibernate.dialect.SQLServerDialect
[INFO] Transaction strategy: org.hibernate.transaction.JTATransactionFactory
[INFO] JNDI InitialContext properties:{}
[INFO] instantiating TransactionManagerLookup: org.hibernate.transaction.BTMTransactionManagerLookup
[INFO] instantiated TransactionManagerLookup
[INFO] instantiating TransactionManagerLookup: org.hibernate.transaction.BTMTransactionManagerLookup
[INFO] instantiated TransactionManagerLookup
[INFO] Automatic flush during beforeCompletion(): enabled
[INFO] Automatic session close at end of transaction: enabled
[INFO] Scrollable result sets: enabled
[INFO] JDBC3 getGeneratedKeys(): enabled
[INFO] Connection release mode: auto
[INFO] Default schema: dbo
[INFO] Default batch fetch size: 1
[INFO] Generate SQL with comments: disabled
[INFO] Order SQL updates by primary key: disabled
[INFO] Order SQL inserts for batching: disabled
[INFO] Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
[INFO] Query language substitutions: {}
[INFO] JPA-QL strict compliance: disabled
[INFO] Second-level cache: enabled
[INFO] Query cache: disabled
[INFO] Cache region factory : org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge
[INFO] Cache provider: org.hibernate.cache.NoCacheProvider
[INFO] Optimize cache for minimal puts: disabled
[INFO] Structured second-level cache entries: disabled
[INFO] Statistics: disabled
[INFO] Deleted entity synthetic identifier rollback: disabled
[INFO] Default entity-mode: pojo
[INFO] Named query checking : enabled
[INFO] building session factory
[INFO] Not binding factory to JNDI, no JNDI name configured
[INFO] Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]
[INFO] SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]

Paul Gregoire added a comment - 20/Aug/08 12:05 PM
My mistake, the error i get is on preinsert so do i need a separate bug report?

Emmanuel Bernard added a comment - 20/Aug/08 05:05 PM
no it's the same error. should be fixed in 3.1.0.CR2

Juergen Zimmermann added a comment - 20/Aug/08 06:11 PM
My error is gone when using HV 3.1.0.CR2 together with Hibernate 3.3.0.SP1

Hardy Ferentschik added a comment - 21/Aug/08 01:23 AM
That's the right combination - HV 3.1.0.CR2 together with Hibernate 3.3.0.SP1

Michael Griffith added a comment - 18/Feb/09 01:44 PM
I'm getting the same error with 3.3.1-GA (Core) and HV 3.1.0-GA. I also tried HV 3.1.0 CR2 with 3.3.1-GA and get the same error.
Annotations- 3.4.0.GA, Commons-Annotations 3.1.0.GA, EntityManager 3.3.2.GA, Search 3.0.0.GA, testing 3.3.1.GA

Can anyone tell me what is wrong with this setup?

Hardy Ferentschik added a comment - 19/Feb/09 03:42 AM
The following is the dependency used in the current version of the code (https://svn.jboss.org/repos/hibernate/validator/trunk/hibernate-validator-legacy)

         <dependency>
             <groupId>org.hibernate</groupId>
             <artifactId>hibernate-core</artifactId>
            <version>3.3.0.SP1</version>
         </dependency>

Using this dependency works just fine. If I upgrade to 3.3.1.GA everything is fine as well

         <dependency>
             <groupId>org.hibernate</groupId>
             <artifactId>hibernate-core</artifactId>
            <version>3.3.1.GA</version>
         </dependency>

On the contrary if I change the dependecy to 3.3.0.GA, I even get compilation errors

         <dependency>
             <groupId>org.hibernate</groupId>
             <artifactId>hibernate-core</artifactId>
            <version>3.3.0.GA</version>
         </dependency>

If I recall correctly SP1 was required, because the methods in question got accidently removed in the 3.3.0.GA release.

Are you sure there is no other conflicting version of Hibernate in your classpath?


Albert Gorski added a comment - 19/Feb/09 04:51 AM
be careful -> I've the same problem when I run software on tomcat server and generate build.xml ANT file in eclipse rom MAVEN project.
Somehow there is a dependency to the hibernate.3.2.1.ga and this library/jar is also on the classpath in the tomcat lib application.
hibernate3.2.1.ga must be removed (or core must be before hibernate on the classpath).

I found that hibernate-commons-annotation-3.0.0.GA has got a reference to hibernate.3.2.1.ga what makes this PROBLEM and must be corrected that it references to the hibernate-core-3.3.1.GA .

Here is the classpath which "works" for me (extracted from maven build file):
activation-1.1.jar
ant-1.5.jar
ant-contrib-1.0b3.jar
antlr-2.7.6.jar
asm-1.5.3.jar
asm-attrs-1.5.3.jar
auco_ejb3-0.0.2.jar
cglib-2.1_3.jar
commons-beanutils-1.7.0.jar
commons-collections-3.1.jar
commons-digester-1.8.jar
commons-discovery-0.2.jar
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-lang-2.3.jar
commons-logging-1.1.1.jar
commons-math-1.1.jar
dom4j-1.6.1.jar
ehcache-1.2.3.jar
ejb3-persistence-1.0.2.GA.jar
ejb-api-3.0.jar
elvyx-1.0.24.jar
hibernate-annotations-3.4.0.GA.jar
hibernate-commons-annotations-3.3.0.ga.jar
hibernate-core-3.3.1.GA.jar
hibernate-ehcache-3.3.1.GA.jar
hibernate-entitymanager-3.4.0.GA.jar
hibernate-validator-3.1.0.GA.jar
hsqldb-1.8.0.7.jar
itext-1.4.8.jar
jasperreports-3.1.2.jar
javassist-3.8.0.GA.jar
jcommon-1.0.12.jar
jdtcore-3.2.0.v_658.jar
jfreechart-1.0.9.jar
jms-1.1.jar
jmxri-1.2.1.jar
jmxtools-1.2.1.jar
json-20080701.jar
jta-1.1.jar
junit-3.8.1.jar
log4j-1.2.15.jar
mail-1.4.jar
mysql-connector-java-5.1.6.jar
persistence-api-1.0.jar
slf4j-api-1.5.6.jar
slf4j-log4j12-1.5.6.jar
spring-2.5.6.jar
testng-5.8-jdk15.jar
xml-apis-1.3.02.jar
 
Hope it helops you :)

Greetings
Albert