I was able to overcome this issue by setting the following OpenJPA property

openjpa.Compatibility=CheckDatabaseForCascadePersistToDetachedEntity=*true*


Thanks,
Waruna
On 20 June 2012 12:31, Waruna Ranasinghe <[email protected]> wrote:

> Hi all,
>
> I tried to upgrade the OpenJPA version to 2.2.0.
>
> Some of the tests get failed printing following. It would be great if you
> can shed some light on how to fix this issue.
>
> <openjpa-2.2.0-wso2v1-r128097:129108M nonfatal user error>
> org.apache.openjpa.persistence.InvalidStateException: Encountered unmanaged
> object "org.apache.juddi.model.BusinessEntity@5d17bf94" in life cycle
> state  unmanaged while cascading persistence via field
> "org.apache.juddi.model.BusinessService.businessEntity" during flush.
> However, this field does not allow cascade persist. You cannot flush
> unmanaged objects or graphs that have persistent associations to unmanaged
> objects.
>  Suggested actions: a) Set the cascade attribute for this field to
> CascadeType.PERSIST or CascadeType.ALL (JPA annotations) or "persist" or
> "all" (JPA orm.xml),
>  b) enable cascade-persist globally,
>  c) manually persist the related field value prior to flushing.
>  d) if the reference belongs to another context, allow reference to it by
> setting StoreContext.setAllowReferenceToSiblingContext().
> FailedObject: org.apache.juddi.model.BusinessEntity@5d17bf94
>     at
> org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:786)
>     at
> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:621)
>     at
> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:589)
>     at
> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505)
>     at
> org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:2982)
>     at org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:40)
>     at
> org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1054)
>     at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2112)
>     at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2072)
>     at
> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1990)
>     at
> org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
>     at org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1514)
>     at
> org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:933)
>     at
> org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:570)
>     at
> org.apache.juddi.api.impl.UDDIPublicationImpl.saveService(UDDIPublicationImpl.java:539)
>     at
> org.apache.juddi.v3.tck.TckBusinessService.saveService(TckBusinessService.java:141)
>     at
> org.apache.juddi.v3.tck.TckBusinessService.saveJoePublisherService(TckBusinessService.java:60)
>     at
> org.apache.juddi.subscription.SubscriptionNotifierTest.setup(SubscriptionNotifierTest.java:72)
>
> P.S. it works fine, if I set the OpenJPA version to 2.0.0
>
> Thanks in advance,
> Waruna
> --
> -----------------------------------------------------
> Regards,
> Waruna Ranasinghe
>
> www.wso2.com - "Lean . Enterprise . Middleware"
>
> blog: http://warunapw.blogspot.com
> twitter: http://twitter.com/warunapww
> http://lk.linkedin.com/in/waruna
> www.facebook.com/waruna.ranasinghe
>
>


-- 
-----------------------------------------------------
Regards,
Waruna Ranasinghe

www.wso2.com - "Lean . Enterprise . Middleware"

blog: http://warunapw.blogspot.com
twitter: http://twitter.com/warunapww
http://lk.linkedin.com/in/waruna
www.facebook.com/waruna.ranasinghe

Reply via email to