AFAIK, using merge should not be necessary unless the entity has been
updated outside a "persistent context" and then needs to be synchronised
back with the DB contents. persist() is just for new entities so reading
the docs, updating an entity inside a persistent context should require
no action. Unless an exception is thrown, of course ;).
I'm going to do some tests...
Matt Johnston escribió:
> I think you will need to use either the persist() or merge() methods of
> the EntityManager in order to save your data to the database. In your
> case since you are updating an existing record, you will need to use:
> Riccardo Cohen wrote:
>> I used to play with entity ejb with resin 3.0 with no problem. Now in
>> 3.1.5 I have this code :
>> @PersistenceContext(name="public") private EntityManager m_manager;
>> public boolean set_homeinfo(int id_user,String title)
>> boolean success=false;
>> Query hqr=m_manager.createQuery("select h from homeinfo h where
>> List<homeinfo> hitems = (List<homeinfo>)hqr.getResultList();
>> if (hitems.size()==1)
>> homeinfo homeobj=hitems.get(0);
>> System.out.println("title was "+homeobj.getTitle());
>> The select works all right, but the "title" field is never modified. I
>> added finer info on sql to see database requests in log, and there is no
>> "update". Did I miss something ?
>> I looked at the resin amber tutorials, but there are only "select"
>> samples, I did not see "insert" and "update" samples... I remember
>> problems like this with 3.0 when the entity bean was reused, it was not
>> saved, but here it is not the case.
>> Thanks for any help.
resin-interest mailing list