Friday 15 January 2010

jpa - JPQL Update Entities In Loop -



jpa - JPQL Update Entities In Loop -

i've got function supposed loop through list of orderitems , update quantity of each corresponding inventoryitem in database, not working. there no errors, inventory item quantities aren't beingness updated.

public void completeorder(users user, orders order) { list<orderitem> orderitems = getorderitems(user, order); entitymanagerfactory emf = persistence.createentitymanagerfactory("assignment2pu"); entitymanager em = emf.createentitymanager(); (orderitem item : orderitems) { em.gettransaction().begin(); inventoryitem invitem = item.getinventoryitem(); system.out.println("decreasing " + invitem.getitemname() + ": " + invitem.getitemqty() + " " + item.getqty()); int newqty = invitem.getitemqty() - item.getqty(); invitem.setitemqty(newqty); em.gettransaction().commit(); } }

the way understand it, em.gettransaction().begin(); opens transaction, create changes, em.gettransaction().commit(); persist changes database. incorrect?

it's missing em.merge() signal entity manager want persist changes

jpa entity jpql persist

No comments:

Post a Comment