openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ljnelson <ljnel...@gmail.com>
Subject Re: Cascade and persist issues
Date Thu, 01 Oct 2009 16:14:44 GMT

Thanks, but I'm using emacs (gasp) on the command line.  :-(

I'll see if I can reproduce this thing in a sane, trimmed down manner and
send the files this way.

L

On Thu, Oct 1, 2009 at 11:56 AM, crispyoz (via Nabble) <
ml-user+243560-833017765@n2.nabble.com<ml-user%2B243560-833017765@n2.nabble.com>
> wrote:

> A lot of those error messages don't make any sense to me either. Try
> cleaning your project, if I change the cascade types on fields Eclipse
> doesn't seem to pick it up. Doing a clean then rebuild fixes the issue.
>
> Chris
>
>
> -----Original Message-----
> From: ljnelson [mailto:[hidden email]<http://n2.nabble.com/user/SendEmail.jtp?type=node&node=3750077&i=0>]
>
> Sent: Friday, 2 October 2009 1:45 AM
> To: [hidden email]<http://n2.nabble.com/user/SendEmail.jtp?type=node&node=3750077&i=1>
> Subject: Re: Cascade and persist issues
>
>
> Yes, I guess my point is: I am cascading the relationship with a
> CascadeType
> of ALL, but OpenJPA is telling me that I need to mark it as
> CascadeType.ALL,
> which...it is.
>
> On Thu, Oct 1, 2009 at 11:01 AM, crispyoz (via Nabble) <
> [hidden email]<http://n2.nabble.com/user/SendEmail.jtp?type=node&node=3750077&i=2>
> <[hidden email]<http://n2.nabble.com/user/SendEmail.jtp?type=node&node=3750077&i=3>.
>
> com>
> > wrote:
>
> > I do something similar, I have a user and a user has a single address so
> I
> > use like this:
> >
> > User:
> >
> > Private String name;
> > @OneToOne cascade={CascadeType.ALL})
> > Private Address address;
> > ....
> > ...
> >
> > I construct the user, construct the address, link the address to the user
>
> > and just use persist on the user which causes the address to be persisted
>
> > due to the cascade type. I do the same thing with users that may share
> the
> > same address, just the relationship is changed to
> >
> > @ManyToOne cascade={CascadeType.ALL})
> >
> > Chris
> >
> > -----Original Message-----
> > From: Laird Nelson [mailto:[hidden
> email]<http://n2.nabble.com/user/SendEmail.jtp?type=node&node=3749649&i=0>]
>
> >
> > Sent: Friday, 2 October 2009 12:33 AM
> > To: [hidden
> email]<http://n2.nabble.com/user/SendEmail.jtp?type=node&node=3749649&i=1>
>
> > Subject: Cascade and persist issues
> >
> > On a field marked @OneToMany(/*...*/ cascade = CascadeType.ALL), I am
> > getting this error at persist() time:
> >
> > <openjpa-1.3.0-SNAPSHOT-r422266:820051 nonfatal user error>
> > org.apache.openjpa.persistence.ArgumentException: Encountered new object
> in
> >
> > persistent field "blox.party.jpa.PartyEntity.postalAddresses<key:class
> > blox.party.jpa.PartyPostalAddressBinding$ID>" during attach.  However,
> this
> >
> > field does not allow cascade attach. Set the cascade attribute for this
> > field to CascadeType.MERGE or CascadeType.ALL (JPA annotations) or
> "merge"
> > or "all" (JPA orm.xml). You cannot attach a reference to a new object
> > without cascading.
> >
> > I am following the advice of http://www.screaming-penguin.com/node/7513 in
>
> >
> > terms of structure.
> >
> > To be specific, I have a Party identified with an autogenerated int PK
> with
> >
> > a @OneToMany relationship with a PartyPostalAddressBinding, which has a
> > @ManyToOne relationship with a PostalAddress.  A PostalAddress, in turn,
> is
> >
> > owned by exactly one Party.
> >
> > In my test case, I persist the Party (then I have to flush(), which is
> > tremendously irritating) yielding, let's say, party1.  Then I create a
> new
> > PostalAddress and assign party1 as its owner.  I persist that (and again
> > have to flush() in order to avoid errors--no idea why), yielding
> > postalAddress1.  Finally, I insert a new binding that links party1 and
> > postalAddress1 into party1's Map of bindings.  I then merge() party1
> (which
> >
> > I don't think I should have to do).  It is at this point that OpenJPA
> tells
>
> >
> > me that my @OneToMany field, with cascade markings all over it, needs to
> > be,
> > um, marked with CascadeType.ALL, which it is.
> >
> > I am quite happy to attach all of this, but wanted to see if I'm doing
> > something obviously stupid first.
> >
> > Thanks,
> > Laird
> >
> >
> >
> > ------------------------------
> >  View message @
> > http://n2.nabble.com/Cascade-and-persist-issues-tp3749443p3749649.html
> > To start a new topic under OpenJPA Users, email
> >
> [hidden email]<http://n2.nabble.com/user/SendEmail.jtp?type=node&node=3750077&i=4>
> <[hidden email]<http://n2.nabble.com/user/SendEmail.jtp?type=node&node=3750077&i=5>.
>
> com>
> > To unsubscribe from OpenJPA Users, click here< (link removed) =>.
> >
> >
> >
>
> --
> View this message in context:
> http://n2.nabble.com/Cascade-and-persist-issues-tp3749443p3750003.html
> Sent from the OpenJPA Users mailing list archive at Nabble.com.
>
>
>
> ------------------------------
>  View message @
> http://n2.nabble.com/Cascade-and-persist-issues-tp3749443p3750077.html
> To start a new topic under OpenJPA Users, email
> ml-node+208411-553807638@n2.nabble.com<ml-node%2B208411-553807638@n2.nabble.com>
> To unsubscribe from OpenJPA Users, click here< (link removed) =>.
>
>
>

-- 
View this message in context: http://n2.nabble.com/Cascade-and-persist-issues-tp3749443p3750197.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message