Details
-
Bug
-
Resolution: Not a bug
-
Medium
-
None
-
2.3.3
Description
Argh! have spent several hours on this one... I hope you guys can shed some light on this one...
Working on a plugin, in a XWork Action. Action is on Page A of Space M
I am traversing Page A's childrens. getting/setting a few content properties (contentPropertyManager.get/setTextProperty), then create Page B on Space N,This is what I am doing:
b = new Page(); b.setTitle(source.getTitle()); b.setContent(source.getContent()); b.setSpace(spaceN); b.setVersionComment(makePublishingComment(approvalCheck)); pageManager.saveContentEntity(b,new DefaultSaveContext());
And I get the Exception below... Funny thing is that I don't mess with A's children right before, It works...
2007-08-20 16:52:10,305 ERROR [http-8082-Processor3] [atlassian.xwork.interceptors.XWorkTransactionInterceptor] onThrowable Invoking rollback for transaction on action '/plugins/approvalsworkflow/save.action (ApprovalsAction.save())' due to throwable: org.springframework.orm.hibernate.HibernateSystemException: a different object with the same identifier value was already associated with the session: 17432578, of class: com.atlassian.confluence.spaces.Space; nested exception is net.sf.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: 17432578, of class: com.atlassian.confluence.spaces.Space org.springframework.orm.hibernate.HibernateSystemException: a different object with the same identifier value was already associated with the session: 17432578, of class: com.atlassian.confluence.spaces.Space; nested exception is net.sf.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: 17432578, of class: com.atlassian.confluence.spaces.Space net.sf.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: 17432578, of class: com.atlassian.confluence.spaces.Space at net.sf.hibernate.impl.SessionImpl.checkUniqueness(SessionImpl.java:1687) at net.sf.hibernate.impl.SessionImpl.doUpdateMutable(SessionImpl.java:1453) at net.sf.hibernate.impl.SessionImpl.doUpdate(SessionImpl.java:1480) at net.sf.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:1403) at net.sf.hibernate.engine.Cascades$4.cascade(Cascades.java:114) at net.sf.hibernate.engine.Cascades.cascade(Cascades.java:436) at net.sf.hibernate.engine.Cascades.cascade(Cascades.java:503) at net.sf.hibernate.impl.SessionImpl.doSave(SessionImpl.java:901) at net.sf.hibernate.impl.SessionImpl.doSave(SessionImpl.java:868) at net.sf.hibernate.impl.SessionImpl.saveWithGeneratedIdentifier(SessionImpl.java:790) at net.sf.hibernate.impl.SessionImpl.save(SessionImpl.java:749) at net.sf.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:1398) at org.springframework.orm.hibernate.HibernateTemplate$16.doInHibernate(HibernateTemplate.java:532) at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:312) at org.springframework.orm.hibernate.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:529) at com.atlassian.hibernate.HibernateObjectDao.saveRaw(HibernateObjectDao.java:148) at com.atlassian.confluence.core.DefaultContentEntityManager.saveContentEntity(DefaultContentEntityManager.java:44) 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:585) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:284) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:155) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122) at com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:20) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174) at $Proxy19.saveContentEntity(Unknown Source)
The error is always with that space (id 17432578) that happen to be Space N... Needless to say, I am not modifying Space N at all, just reading it a few statements before adding the page...
b's id is zero, as it was just created... thing is why is hibernate getting/assinging that existing id!!?!?!!?!?!?!!?!?!?!?!?