You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@openjpa.apache.org by Waruna Ranasinghe <wa...@gmail.com> on 2012/06/19 13:43:57 UTC
How to enable cascade-persistence globally
Hi all,
I would like to know whether I can set cascade-persistence globally through
the persistence.xml
I found that I set this in orm.xml, but it did not work. See the
configuration below
<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm
http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" version="1.0">
<persistence-unit-metadata>
<persistence-unit-defaults>
<cascade-persist/>
</persistence-unit-defaults>
</persistence-unit-metadata>
</entity-mappings>
The reason for me to set this property is that I get the following
exception which suggest me to set the cascade-persistent property
[2012-06-19 17:01:34,177] ERROR
{org.apache.axis2.jaxws.WebServiceExceptionLogger} - A
org.apache.openjpa.persistence.InvalidStateException throwable was caught.
The detail message is: atal user error>
org.apache.openjpa.persistence.InvalidStateException: Encountered unmanaged
object "org.apache.juddi.model.BusinessEntity@96ba55a" 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@96ba55a
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)
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: How to enable cascade-persistence globally
Posted by Waruna Ranasinghe <wa...@gmail.com>.
Hi Rick,
I encountered this issue while I was upgrading the OpenJPA version of
Apache JUDDI 3.0.3 from 1.2.0 to 2.2.0.
And I'm not much aware of the source code of JUDDI as well. I just ran the
tests of JUDDI which let me to reproduce the error. I'll try to put
together a minimal unit test.
Thanks,
Waruna
On 21 June 2012 00:50, Rick Curtis <cu...@gmail.com> wrote:
> Waruna -
>
> Glad to hear that it solved your problem... but I'm still interested in
> what was going on. Would you be able to put together a small unit test that
> recreates this issue? I'd like to dig in to make sure that there isn't
> still a bug in OpenJPA code.
>
> Thanks,
> Rick
>
> On Wed, Jun 20, 2012 at 2:02 PM, Waruna Ranasinghe <warunapww@gmail.com
> >wrote:
>
> > Hi Rick,
> >
> > after setting
> >
> openjpa.Compatibility=CheckDatabaseForCascadePersistToDetachedEntity=*true*
> >
> > The issue is fixed. Thanks a lot for the help.
> >
> > Thanks,
> > Waruna
> > On 20 June 2012 19:24, Rick Curtis <cu...@gmail.com> wrote:
> >
> > > Waruna -
> > >
> > > Can you try setting this property ?
> > >
> > >
> >
> openjpa.Compatibility=CheckDatabaseForCascadePersistToDetachedEntity=false
> > >
> > > Thanks,
> > > Rick
> > >
> > > On Wed, Jun 20, 2012 at 12:08 AM, Waruna Ranasinghe <
> warunapww@gmail.com
> > > >wrote:
> > >
> > > > Hi Rick,
> > > >
> > > > I tried setting the CascadeType.ALL, then I get the following
> > exception.
> > > > Does this mean that the client application is trying to create two
> > > objects
> > > > with the same oid?
> > > >
> > > > The thing is this code works fine with OpenJPA 2.0.0 but if we use
> > > OpenJPA
> > > > 2.2.0, then these errors occur.
> > > >
> > > > Caused by: <openjpa-2.2.0-wso2v1-r128166:129108 nonfatal store error>
> > > > org.apache.openjpa.persistence.EntityExistsException: An object of
> type
> > > > "org.apache.juddi.model.BusinessEntity" with oid
> > > > "uddi:juddi.apache.org:6a6294ef-90c8-43b1-b5f6-8200667f078d"
> > > > already exists in this context; another cannot be persisted.
> > > > FailedObject: org.apache.juddi.model.BusinessEntity@211bfe02
> > > > at
> > > >
> > > >
> > >
> >
> org.apache.openjpa.kernel.BrokerImpl.checkForDuplicateId(BrokerImpl.java:5075)
> > > > at
> > > >
> > >
> >
> org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2651)
> > > > at
> > org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2571)
> > > > at
> > org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2554)
> > > > at
> > > >
> > > >
> > >
> >
> org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:800)
> > > > 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)
> > > >
> > > >
> > > > Thanks,
> > > > Waruna
> > > > On 19 June 2012 19:40, Rick Curtis <cu...@gmail.com> wrote:
> > > >
> > > > > Waruna -
> > > > >
> > > > > For giggles, can you try to manually set the field in
> question(erro)
> > to
> > > > > CascadeType.ALL? This might help us narrow down where the real
> > problem
> > > > is.
> > > > >
> > > > > Thanks,
> > > > > Rick
> > > > >
> > > > > On Tue, Jun 19, 2012 at 6:43 AM, Waruna Ranasinghe <
> > > warunapww@gmail.com
> > > > > >wrote:
> > > > >
> > > > > > Hi all,
> > > > > >
> > > > > > I would like to know whether I can set cascade-persistence
> globally
> > > > > through
> > > > > > the persistence.xml
> > > > > >
> > > > > > I found that I set this in orm.xml, but it did not work. See the
> > > > > > configuration below
> > > > > > <entity-mappings xmlns="
> http://java.sun.com/xml/ns/persistence/orm
> > "
> > > > > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > > > > > xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm
> > > > > > http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
> > version="1.0">
> > > > > > <persistence-unit-metadata>
> > > > > > <persistence-unit-defaults>
> > > > > > <cascade-persist/>
> > > > > > </persistence-unit-defaults>
> > > > > > </persistence-unit-metadata>
> > > > > > </entity-mappings>
> > > > > >
> > > > > >
> > > > > > The reason for me to set this property is that I get the
> following
> > > > > > exception which suggest me to set the cascade-persistent
> property
> > > > > >
> > > > > > [2012-06-19 17:01:34,177] ERROR
> > > > > > {org.apache.axis2.jaxws.WebServiceExceptionLogger} - A
> > > > > > org.apache.openjpa.persistence.InvalidStateException throwable
> was
> > > > > caught.
> > > > > > The detail message is: atal user error>
> > > > > > org.apache.openjpa.persistence.InvalidStateException: Encountered
> > > > > unmanaged
> > > > > > object "org.apache.juddi.model.BusinessEntity@96ba55a" 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@96ba55a
> > > > > > 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)
> > > > > >
> > > > > >
> > > > > > 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
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > *Rick Curtis*
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > -----------------------------------------------------
> > > > 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
> > > >
> > >
> > >
> > >
> > > --
> > > *Rick Curtis*
> > >
> >
> >
> >
> > --
> > -----------------------------------------------------
> > 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
> >
>
>
>
> --
> *Rick Curtis*
>
--
-----------------------------------------------------
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: How to enable cascade-persistence globally
Posted by Rick Curtis <cu...@gmail.com>.
Waruna -
Glad to hear that it solved your problem... but I'm still interested in
what was going on. Would you be able to put together a small unit test that
recreates this issue? I'd like to dig in to make sure that there isn't
still a bug in OpenJPA code.
Thanks,
Rick
On Wed, Jun 20, 2012 at 2:02 PM, Waruna Ranasinghe <wa...@gmail.com>wrote:
> Hi Rick,
>
> after setting
> openjpa.Compatibility=CheckDatabaseForCascadePersistToDetachedEntity=*true*
>
> The issue is fixed. Thanks a lot for the help.
>
> Thanks,
> Waruna
> On 20 June 2012 19:24, Rick Curtis <cu...@gmail.com> wrote:
>
> > Waruna -
> >
> > Can you try setting this property ?
> >
> >
> openjpa.Compatibility=CheckDatabaseForCascadePersistToDetachedEntity=false
> >
> > Thanks,
> > Rick
> >
> > On Wed, Jun 20, 2012 at 12:08 AM, Waruna Ranasinghe <warunapww@gmail.com
> > >wrote:
> >
> > > Hi Rick,
> > >
> > > I tried setting the CascadeType.ALL, then I get the following
> exception.
> > > Does this mean that the client application is trying to create two
> > objects
> > > with the same oid?
> > >
> > > The thing is this code works fine with OpenJPA 2.0.0 but if we use
> > OpenJPA
> > > 2.2.0, then these errors occur.
> > >
> > > Caused by: <openjpa-2.2.0-wso2v1-r128166:129108 nonfatal store error>
> > > org.apache.openjpa.persistence.EntityExistsException: An object of type
> > > "org.apache.juddi.model.BusinessEntity" with oid
> > > "uddi:juddi.apache.org:6a6294ef-90c8-43b1-b5f6-8200667f078d"
> > > already exists in this context; another cannot be persisted.
> > > FailedObject: org.apache.juddi.model.BusinessEntity@211bfe02
> > > at
> > >
> > >
> >
> org.apache.openjpa.kernel.BrokerImpl.checkForDuplicateId(BrokerImpl.java:5075)
> > > at
> > >
> >
> org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2651)
> > > at
> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2571)
> > > at
> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2554)
> > > at
> > >
> > >
> >
> org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:800)
> > > 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)
> > >
> > >
> > > Thanks,
> > > Waruna
> > > On 19 June 2012 19:40, Rick Curtis <cu...@gmail.com> wrote:
> > >
> > > > Waruna -
> > > >
> > > > For giggles, can you try to manually set the field in question(erro)
> to
> > > > CascadeType.ALL? This might help us narrow down where the real
> problem
> > > is.
> > > >
> > > > Thanks,
> > > > Rick
> > > >
> > > > On Tue, Jun 19, 2012 at 6:43 AM, Waruna Ranasinghe <
> > warunapww@gmail.com
> > > > >wrote:
> > > >
> > > > > Hi all,
> > > > >
> > > > > I would like to know whether I can set cascade-persistence globally
> > > > through
> > > > > the persistence.xml
> > > > >
> > > > > I found that I set this in orm.xml, but it did not work. See the
> > > > > configuration below
> > > > > <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm
> "
> > > > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > > > > xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm
> > > > > http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
> version="1.0">
> > > > > <persistence-unit-metadata>
> > > > > <persistence-unit-defaults>
> > > > > <cascade-persist/>
> > > > > </persistence-unit-defaults>
> > > > > </persistence-unit-metadata>
> > > > > </entity-mappings>
> > > > >
> > > > >
> > > > > The reason for me to set this property is that I get the following
> > > > > exception which suggest me to set the cascade-persistent property
> > > > >
> > > > > [2012-06-19 17:01:34,177] ERROR
> > > > > {org.apache.axis2.jaxws.WebServiceExceptionLogger} - A
> > > > > org.apache.openjpa.persistence.InvalidStateException throwable was
> > > > caught.
> > > > > The detail message is: atal user error>
> > > > > org.apache.openjpa.persistence.InvalidStateException: Encountered
> > > > unmanaged
> > > > > object "org.apache.juddi.model.BusinessEntity@96ba55a" 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@96ba55a
> > > > > 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)
> > > > >
> > > > >
> > > > > 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
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > *Rick Curtis*
> > > >
> > >
> > >
> > >
> > > --
> > > -----------------------------------------------------
> > > 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
> > >
> >
> >
> >
> > --
> > *Rick Curtis*
> >
>
>
>
> --
> -----------------------------------------------------
> 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
>
--
*Rick Curtis*
Re: How to enable cascade-persistence globally
Posted by Waruna Ranasinghe <wa...@gmail.com>.
Hi Rick,
after setting
openjpa.Compatibility=CheckDatabaseForCascadePersistToDetachedEntity=*true*
The issue is fixed. Thanks a lot for the help.
Thanks,
Waruna
On 20 June 2012 19:24, Rick Curtis <cu...@gmail.com> wrote:
> Waruna -
>
> Can you try setting this property ?
>
> openjpa.Compatibility=CheckDatabaseForCascadePersistToDetachedEntity=false
>
> Thanks,
> Rick
>
> On Wed, Jun 20, 2012 at 12:08 AM, Waruna Ranasinghe <warunapww@gmail.com
> >wrote:
>
> > Hi Rick,
> >
> > I tried setting the CascadeType.ALL, then I get the following exception.
> > Does this mean that the client application is trying to create two
> objects
> > with the same oid?
> >
> > The thing is this code works fine with OpenJPA 2.0.0 but if we use
> OpenJPA
> > 2.2.0, then these errors occur.
> >
> > Caused by: <openjpa-2.2.0-wso2v1-r128166:129108 nonfatal store error>
> > org.apache.openjpa.persistence.EntityExistsException: An object of type
> > "org.apache.juddi.model.BusinessEntity" with oid
> > "uddi:juddi.apache.org:6a6294ef-90c8-43b1-b5f6-8200667f078d"
> > already exists in this context; another cannot be persisted.
> > FailedObject: org.apache.juddi.model.BusinessEntity@211bfe02
> > at
> >
> >
> org.apache.openjpa.kernel.BrokerImpl.checkForDuplicateId(BrokerImpl.java:5075)
> > at
> >
> org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2651)
> > at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2571)
> > at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2554)
> > at
> >
> >
> org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:800)
> > 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)
> >
> >
> > Thanks,
> > Waruna
> > On 19 June 2012 19:40, Rick Curtis <cu...@gmail.com> wrote:
> >
> > > Waruna -
> > >
> > > For giggles, can you try to manually set the field in question(erro) to
> > > CascadeType.ALL? This might help us narrow down where the real problem
> > is.
> > >
> > > Thanks,
> > > Rick
> > >
> > > On Tue, Jun 19, 2012 at 6:43 AM, Waruna Ranasinghe <
> warunapww@gmail.com
> > > >wrote:
> > >
> > > > Hi all,
> > > >
> > > > I would like to know whether I can set cascade-persistence globally
> > > through
> > > > the persistence.xml
> > > >
> > > > I found that I set this in orm.xml, but it did not work. See the
> > > > configuration below
> > > > <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
> > > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > > > xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm
> > > > http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" version="1.0">
> > > > <persistence-unit-metadata>
> > > > <persistence-unit-defaults>
> > > > <cascade-persist/>
> > > > </persistence-unit-defaults>
> > > > </persistence-unit-metadata>
> > > > </entity-mappings>
> > > >
> > > >
> > > > The reason for me to set this property is that I get the following
> > > > exception which suggest me to set the cascade-persistent property
> > > >
> > > > [2012-06-19 17:01:34,177] ERROR
> > > > {org.apache.axis2.jaxws.WebServiceExceptionLogger} - A
> > > > org.apache.openjpa.persistence.InvalidStateException throwable was
> > > caught.
> > > > The detail message is: atal user error>
> > > > org.apache.openjpa.persistence.InvalidStateException: Encountered
> > > unmanaged
> > > > object "org.apache.juddi.model.BusinessEntity@96ba55a" 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@96ba55a
> > > > 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)
> > > >
> > > >
> > > > 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
> > > >
> > >
> > >
> > >
> > > --
> > > *Rick Curtis*
> > >
> >
> >
> >
> > --
> > -----------------------------------------------------
> > 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
> >
>
>
>
> --
> *Rick Curtis*
>
--
-----------------------------------------------------
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: How to enable cascade-persistence globally
Posted by Rick Curtis <cu...@gmail.com>.
Waruna -
Can you try setting this property ?
openjpa.Compatibility=CheckDatabaseForCascadePersistToDetachedEntity=false
Thanks,
Rick
On Wed, Jun 20, 2012 at 12:08 AM, Waruna Ranasinghe <wa...@gmail.com>wrote:
> Hi Rick,
>
> I tried setting the CascadeType.ALL, then I get the following exception.
> Does this mean that the client application is trying to create two objects
> with the same oid?
>
> The thing is this code works fine with OpenJPA 2.0.0 but if we use OpenJPA
> 2.2.0, then these errors occur.
>
> Caused by: <openjpa-2.2.0-wso2v1-r128166:129108 nonfatal store error>
> org.apache.openjpa.persistence.EntityExistsException: An object of type
> "org.apache.juddi.model.BusinessEntity" with oid
> "uddi:juddi.apache.org:6a6294ef-90c8-43b1-b5f6-8200667f078d"
> already exists in this context; another cannot be persisted.
> FailedObject: org.apache.juddi.model.BusinessEntity@211bfe02
> at
>
> org.apache.openjpa.kernel.BrokerImpl.checkForDuplicateId(BrokerImpl.java:5075)
> at
> org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2651)
> at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2571)
> at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2554)
> at
>
> org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:800)
> 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)
>
>
> Thanks,
> Waruna
> On 19 June 2012 19:40, Rick Curtis <cu...@gmail.com> wrote:
>
> > Waruna -
> >
> > For giggles, can you try to manually set the field in question(erro) to
> > CascadeType.ALL? This might help us narrow down where the real problem
> is.
> >
> > Thanks,
> > Rick
> >
> > On Tue, Jun 19, 2012 at 6:43 AM, Waruna Ranasinghe <warunapww@gmail.com
> > >wrote:
> >
> > > Hi all,
> > >
> > > I would like to know whether I can set cascade-persistence globally
> > through
> > > the persistence.xml
> > >
> > > I found that I set this in orm.xml, but it did not work. See the
> > > configuration below
> > > <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
> > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > > xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm
> > > http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" version="1.0">
> > > <persistence-unit-metadata>
> > > <persistence-unit-defaults>
> > > <cascade-persist/>
> > > </persistence-unit-defaults>
> > > </persistence-unit-metadata>
> > > </entity-mappings>
> > >
> > >
> > > The reason for me to set this property is that I get the following
> > > exception which suggest me to set the cascade-persistent property
> > >
> > > [2012-06-19 17:01:34,177] ERROR
> > > {org.apache.axis2.jaxws.WebServiceExceptionLogger} - A
> > > org.apache.openjpa.persistence.InvalidStateException throwable was
> > caught.
> > > The detail message is: atal user error>
> > > org.apache.openjpa.persistence.InvalidStateException: Encountered
> > unmanaged
> > > object "org.apache.juddi.model.BusinessEntity@96ba55a" 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@96ba55a
> > > 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)
> > >
> > >
> > > 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
> > >
> >
> >
> >
> > --
> > *Rick Curtis*
> >
>
>
>
> --
> -----------------------------------------------------
> 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
>
--
*Rick Curtis*
Re: How to enable cascade-persistence globally
Posted by Waruna Ranasinghe <wa...@gmail.com>.
Hi Rick,
I tried setting the CascadeType.ALL, then I get the following exception.
Does this mean that the client application is trying to create two objects
with the same oid?
The thing is this code works fine with OpenJPA 2.0.0 but if we use OpenJPA
2.2.0, then these errors occur.
Caused by: <openjpa-2.2.0-wso2v1-r128166:129108 nonfatal store error>
org.apache.openjpa.persistence.EntityExistsException: An object of type
"org.apache.juddi.model.BusinessEntity" with oid
"uddi:juddi.apache.org:6a6294ef-90c8-43b1-b5f6-8200667f078d"
already exists in this context; another cannot be persisted.
FailedObject: org.apache.juddi.model.BusinessEntity@211bfe02
at
org.apache.openjpa.kernel.BrokerImpl.checkForDuplicateId(BrokerImpl.java:5075)
at
org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2651)
at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2571)
at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2554)
at
org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:800)
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)
Thanks,
Waruna
On 19 June 2012 19:40, Rick Curtis <cu...@gmail.com> wrote:
> Waruna -
>
> For giggles, can you try to manually set the field in question(erro) to
> CascadeType.ALL? This might help us narrow down where the real problem is.
>
> Thanks,
> Rick
>
> On Tue, Jun 19, 2012 at 6:43 AM, Waruna Ranasinghe <warunapww@gmail.com
> >wrote:
>
> > Hi all,
> >
> > I would like to know whether I can set cascade-persistence globally
> through
> > the persistence.xml
> >
> > I found that I set this in orm.xml, but it did not work. See the
> > configuration below
> > <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm
> > http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" version="1.0">
> > <persistence-unit-metadata>
> > <persistence-unit-defaults>
> > <cascade-persist/>
> > </persistence-unit-defaults>
> > </persistence-unit-metadata>
> > </entity-mappings>
> >
> >
> > The reason for me to set this property is that I get the following
> > exception which suggest me to set the cascade-persistent property
> >
> > [2012-06-19 17:01:34,177] ERROR
> > {org.apache.axis2.jaxws.WebServiceExceptionLogger} - A
> > org.apache.openjpa.persistence.InvalidStateException throwable was
> caught.
> > The detail message is: atal user error>
> > org.apache.openjpa.persistence.InvalidStateException: Encountered
> unmanaged
> > object "org.apache.juddi.model.BusinessEntity@96ba55a" 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@96ba55a
> > 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)
> >
> >
> > 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
> >
>
>
>
> --
> *Rick Curtis*
>
--
-----------------------------------------------------
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: How to enable cascade-persistence globally
Posted by Rick Curtis <cu...@gmail.com>.
Waruna -
For giggles, can you try to manually set the field in question(erro) to
CascadeType.ALL? This might help us narrow down where the real problem is.
Thanks,
Rick
On Tue, Jun 19, 2012 at 6:43 AM, Waruna Ranasinghe <wa...@gmail.com>wrote:
> Hi all,
>
> I would like to know whether I can set cascade-persistence globally through
> the persistence.xml
>
> I found that I set this in orm.xml, but it did not work. See the
> configuration below
> <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm
> http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" version="1.0">
> <persistence-unit-metadata>
> <persistence-unit-defaults>
> <cascade-persist/>
> </persistence-unit-defaults>
> </persistence-unit-metadata>
> </entity-mappings>
>
>
> The reason for me to set this property is that I get the following
> exception which suggest me to set the cascade-persistent property
>
> [2012-06-19 17:01:34,177] ERROR
> {org.apache.axis2.jaxws.WebServiceExceptionLogger} - A
> org.apache.openjpa.persistence.InvalidStateException throwable was caught.
> The detail message is: atal user error>
> org.apache.openjpa.persistence.InvalidStateException: Encountered unmanaged
> object "org.apache.juddi.model.BusinessEntity@96ba55a" 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@96ba55a
> 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)
>
>
> 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
>
--
*Rick Curtis*