craig do you have any presentation (powerpoint or something) about good and best practice in jpa? (openjpa)
On 7/31/07, Craig L Russell <[EMAIL PROTECTED]> wrote: > This technique is almost correct. > > > Object o=em.find(Object.class,pk); > > then change/ set new values (not the pk) > > > > =em.merge(o); > > You don't want to merge here. The find will put the instance into the > PersistenceContext. > > Just commit or flush changes to the database. > > Craig > > On Jul 31, 2007, at 10:29 AM, Mauricio Salatino wrote: > > > you shouldn't change the pk if you want to do an update.. > > but if you are with a new object you must attach the object to the > > session. > > so.. the sequence be like this: > > > > if you know the pk of the object > > > > Object o=em.find(Object.class,pk); > > then change/ set new values (not the pk) > > > > o=em.merge(o); > > > > > > > > On 7/31/07, Tim Hanson <[EMAIL PROTECTED]> wrote: > >> I somewhat confused by the behaviour of merge(). It seems that if > >> I just > >> new up an entity and set its fields, including the primary key, > >> then I > >> call em.merge(), INSERT is called instead of UPDATE. Is this true? > >> > >> I am using JPA with JSF. I have a backing bean with a reference to an > >> entity. When I try to edit the entity, on save JSF fills in the > >> fields > >> of the entity from the request and then I call em.merge(), but like I > >> said, that always calls INSERT. The only way I was able to make this > >> work was by scoping the backing bean to the session, such that my > >> entity > >> was alive between calls. That seems like a strange thing to do. > >> > >> The other possibility would be to find the entity and then copy the > >> fields. That also seems like a hack. > >> > >> I guess if merge() is not really UPDATE, is there something else I > >> can > >> call? > >> > >> Thanks, > >> Tim > >> > >> Notice: This email message, together with any attachments, may > >> contain information of BEA Systems, Inc., its subsidiaries > >> and affiliated entities, that may be confidential, > >> proprietary, copyrighted and/or legally privileged, and is > >> intended solely for the use of the individual or entity named in > >> this message. If you are not the intended recipient, and have > >> received this message in error, please immediately return this by > >> email and then delete it. > >> > > > > > > -- > > - Salatino Mauricio - > > Craig Russell > Architect, Sun Java Enterprise System http://java.sun.com/products/jdo > 408 276-5638 mailto:[EMAIL PROTECTED] > P.S. A good JDO? O, Gasp! > > > -- - Salatino Mauricio -
