You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@juddi.apache.org by Waruna Ranasinghe <wa...@gmail.com> on 2012/06/20 09:01:59 UTC

Trying to upgrade the OpenJPA version to 2.2.0

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

Re: Trying to upgrade the OpenJPA version to 2.2.0

Posted by Waruna Ranasinghe <wa...@gmail.com>.
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 <wa...@gmail.com> 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