OpenJPA 1.2.2 Spring 3 HSQLDB 2.0 JUnit Testing with SpringJUnit4ClassRunner & Spring @Transactional on Testclass --
class Settlement { @OneToMany(mappedBy = "settlement", Cascade=CascadeType.REFRESH) private List<VoucherProcessed> vouchersProcessed = new ArrayList<VoucherProcessed>(0); ... } public class VoucherProcessed { @OneToOne @JoinColumn private Voucher voucher; @ManyToOne @JoinColumn private Settlement settlement; ... } The service class passes a new Settlement object along with a list of vocherIds (since VoucherProcessed are already persisted) // dao @Transactional public void save(Settlement settlement, List<Long> voucherIds) { // Load VoucherProcessed List<VoucherProcessed> vouchersProcessed = (List<VoucherProcessed>) em .createQuery("SELECT vp FROM VoucherProcessed vp WHERE vp.voucher.voucherId IN (:voucherIds)") .setParameter("voucherIds", voucherIds).getResultList(); if (vouchersProcessed != null) { settlement.setVouchersProcessed(vouchersProcessed); em.persist(settlement); } } The above code generates INSERT for settlement but there's no update for Voucher like: UPDATE Voucher SET settlement.id=? However, if I pass Settlement with a persistent VoucherList to the dao, Update is generated. What am I missing? -- View this message in context: http://openjpa.208410.n2.nabble.com/Update-statements-not-generated-for-a-OneToMany-mapping-tp6476296p6476296.html Sent from the OpenJPA Users mailing list archive at Nabble.com.