Class A { public Collection myStrings; // Contains Stirng } // ------- somewhere in my application -------- // ArrayList myList = new ArrayList(); myList.add("str1"); pm.currentTransaction.begin(); A a1 = new A(); pm.makePersistent(a1); a1.myBs = myList; // At this time a1.myBs contains 1 element ("str1") myList.add("str2"); // At this time a1.myBs contains always 1 element ("str1") // whereas myList contains 2 elements ("str1", "str2") pm.currentTransaction.commit();