[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-3493) ConstraintViolationException with Java 6 (works with Java5)

Przemyslaw Jaskierski (JIRA) noreply at atlassian.com
Wed Sep 24 09:15:04 EDT 2008


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-3493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=31274#action_31274 ] 

Przemyslaw Jaskierski commented on HHH-3493:
--------------------------------------------

Sorry for interfering, but Hibernate developers should be aware that this may be a more general and serious problem with Hibernate and java 6.

Bet was placed that this problem appeared because changes in collections iteration were introduced in JDK 6 and some code, which performs wrong iterations over e.g. HashMap.values() works defectively on this platform.

Read here https://jira.jboss.org/jira/browse/JBSEAM-1954 for full context and some useful links.

> ConstraintViolationException with Java 6 (works with Java5)
> -----------------------------------------------------------
>
>                 Key: HHH-3493
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3493
>             Project: Hibernate Core
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.3.1
>            Reporter: Pete Muir
>            Priority: Minor
>
> This problem is apparent in the Seam wiki testsuite when run with Java6. The wiki runs Hibernate 3.2.3 by default, but Shane tested with 3.3.1 and the same problem manifests. Currently the tests aren't run with Java6, so to reproduce in Seam trunk, you need to enable the tests by editing examples/wiki/AllTests-jdk6.tng.xml and removing the excluded groups.
> [testng] org.hibernate.exception.ConstraintViolationException: could not insert: [org.jboss.seam.wiki.core.model.WikiDocument]
>    [testng] 	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
>    [testng] 	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
>    [testng] 	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2267)
>    [testng] 	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2660)
>    [testng] 	at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:52)
>    [testng] 	at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
>    [testng] 	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
>    [testng] 	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
>    [testng] 	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
>    [testng] 	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
>    [testng] 	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
>    [testng] 	at org.hibernate.ejb.AbstractEntityManagerImpl.flush(AbstractEntityManagerImpl.java:297)
>    [testng] 	at org.jboss.seam.persistence.EntityManagerProxy.flush(EntityManagerProxy.java:92)
>    [testng] 	at org.hibernate.search.jpa.impl.FullTextEntityManagerImpl.flush(FullTextEntityManagerImpl.java:102)
>    [testng] 	at org.jboss.seam.persistence.EntityManagerProxy.flush(EntityManagerProxy.java:92)
>    [testng] 	at org.jboss.seam.framework.EntityHome.persist(EntityHome.java:85)
>    [testng] 	at org.jboss.seam.wiki.core.action.NodeHome.persist(NodeHome.java:243)
>    [testng] 	at org.jboss.seam.wiki.core.action.DocumentHome.persist(DocumentHome.java:195)
>    [testng] 	at org.jboss.seam.wiki.plugin.forum.TopicHome.persist(TopicHome.java:92)
>    [testng] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    [testng] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>    [testng] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>    [testng] 	at java.lang.reflect.Method.invoke(Method.java:597)
>    [testng] 	at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
>    [testng] 	at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
>    [testng] 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
>    [testng] 	at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
>    [testng] 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
>    [testng] 	at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77)
>    [testng] 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
>    [testng] 	at org.jboss.seam.core.ConversationInterceptor.aroundInvoke(ConversationInterceptor.java:65)
>    [testng] 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
>    [testng] 	at org.jboss.seam.transaction.TransactionInterceptor$1.work(TransactionInterceptor.java:40)
>    [testng] 	at org.jboss.seam.util.Work.workInTransaction(Work.java:47)
>    [testng] 	at org.jboss.seam.transaction.TransactionInterceptor.aroundInvoke(TransactionInterceptor.java:34)
>    [testng] 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
>    [testng] 	at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
>    [testng] 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
>    [testng] 	at org.jboss.seam.security.SecurityInterceptor.aroundInvoke(SecurityInterceptor.java:138)
>    [testng] 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
>    [testng] 	at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
>    [testng] 	at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
>    [testng] 	at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
>    [testng] 	at org.jboss.seam.wiki.plugin.forum.TopicHome_$$_javassist_54.persist(TopicHome_$$_javassist_54.java)
>    [testng] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    [testng] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>    [testng] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>    [testng] 	at java.lang.reflect.Method.invoke(Method.java:597)
>    [testng] 	at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:329)
>    [testng] 	at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:342)
>    [testng] 	at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
>    [testng] 	at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
>    [testng] 	at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
>    [testng] 	at org.jboss.seam.mock.AbstractSeamTest$Request.invokeMethod(AbstractSeamTest.java:464)
>    [testng] 	at org.jboss.seam.wiki.test.plugin.TopicHomeTests$2.invokeApplication(TopicHomeTests.java:69)
>    [testng] 	at org.jboss.seam.mock.AbstractSeamTest$Request.invokeApplicationPhase(AbstractSeamTest.java:647)
>    [testng] 	at org.jboss.seam.mock.AbstractSeamTest$Request.emulateJsfLifecycle(AbstractSeamTest.java:596)
>    [testng] 	at org.jboss.seam.mock.AbstractSeamTest$Request.access$300(AbstractSeamTest.java:178)
>    [testng] 	at org.jboss.seam.mock.AbstractSeamTest$Request$2.doFilter(AbstractSeamTest.java:498)
>    [testng] 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
>    [testng] 	at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:38)
>    [testng] 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
>    [testng] 	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
>    [testng] 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
>    [testng] 	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
>    [testng] 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
>    [testng] 	at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164)
>    [testng] 	at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
>    [testng] 	at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
>    [testng] 	at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:406)
>    [testng] 	at org.jboss.seam.wiki.core.ui.WikiUrlRewriteFilter.doFilter(WikiUrlRewriteFilter.java:45)
>    [testng] 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
>    [testng] 	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:150)
>    [testng] 	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
>    [testng] 	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:379)
>    [testng] 	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:506)
>    [testng] 	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
>    [testng] 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
>    [testng] 	at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
>    [testng] 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
>    [testng] 	at org.jboss.seam.wiki.core.ui.WikiUrlSessionIdFilter.doFilter(WikiUrlSessionIdFilter.java:86)
>    [testng] 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
>    [testng] 	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
>    [testng] 	at org.jboss.seam.mock.AbstractSeamTest$Request.run(AbstractSeamTest.java:492)
>    [testng] 	at org.jboss.seam.mock.AbstractSeamTest$FacesRequest.run(AbstractSeamTest.java:863)
>    [testng] 	at org.jboss.seam.wiki.test.plugin.TopicHomeTests.newTopic(TopicHomeTests.java:50)
>    [testng] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    [testng] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>    [testng] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>    [testng] 	at java.lang.reflect.Method.invoke(Method.java:597)
>    [testng] 	at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:604)
>    [testng] 	at org.testng.internal.Invoker.invokeMethod(Invoker.java:470)
>    [testng] 	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:564)
>    [testng] 	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:830)
>    [testng] 	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
>    [testng] 	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
>    [testng] 	at org.testng.TestRunner.runWorkers(TestRunner.java:678)
>    [testng] 	at org.testng.TestRunner.privateRun(TestRunner.java:624)
>    [testng] 	at org.testng.TestRunner.run(TestRunner.java:495)
>    [testng] 	at org.testng.SuiteRunner.runTest(SuiteRunner.java:300)
>    [testng] 	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:295)
>    [testng] 	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:275)
>    [testng] 	at org.testng.SuiteRunner.run(SuiteRunner.java:190)
>    [testng] 	at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:792)
>    [testng] 	at org.testng.TestNG.runSuitesLocally(TestNG.java:765)
>    [testng] 	at org.testng.TestNG.run(TestNG.java:699)
>    [testng] 	at org.testng.TestNG.privateMain(TestNG.java:824)
>    [testng] 	at org.testng.TestNG.main(TestNG.java:802)
>    [testng] Caused by: java.sql.SQLException: Violation of unique constraint SYS_PK_103: duplicate value(s) for column(s) $$ in statement [/* insert org.jboss.seam.wiki.core.model.WikiDocument */ insert into WIKI_NODE (AREA_NR, CREATED_BY_USER_ID, CREATED_ON, LAST_MODIFIED_BY_USER_ID, LAST_MODIFIED_ON, MESSAGE_ID, NAME, PARENT_NODE_ID, RATING, READ_ACCESS_LEVEL, OBJ_VERSION, WIKINAME, WRITE_ACCESS_LEVEL, WRITE_PROTECTED, NODE_ID) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]
>    [testng] 	at org.hsqldb.jdbc.Util.throwError(Unknown Source)
>    [testng] 	at org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown Source)
>    [testng] 	at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:250)
>    [testng] 	at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:23)
>    [testng] 	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2247)
>    [testng] 	... 105 more

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the hibernate-issues mailing list