-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi,
need to be more specific here: @OneToMany(mappedBy="stampOwner", cascade = CascadeType.ALL,fetch=FetchType.LAZY) @JoinTable(name="TEMPSTAMP", joinColumns={ @JoinColumn(name="STAMPOWNER_DID", referencedColumnName="DID"), @JoinColumn(name="TEMPSTAMP.TEMPTYPE", referencedColumnName="OUTGING") }) private List<TempStamp> tempOutgoingList; // similar other three lists but with other constant [..] > When device and its lists get persisted, all database entries are > correct. Problem is with retrieving. Suppoose I have device with 4 > lists with n elements each different values. > When retrieving devices with a TypedQuery, I always end up, with 4 > elements in each list having all the same value. I need to correct, I end up in every list with 4 * n elements. so my whole JoinTable annotation has no effect. As to my issue with merge(): List<Device> runtimeList; // I retrieve its objects with: TypedQuery<Device> dQuery = em.createQuery("select d from Device d", Device.class); when running merge/persitance I iterate over that list and use: EntityTransaction tx = em.getTransaction(); tx.begin(); for(Device dSaved : runtimeList){ Device dfound = em.find(WRG.class, savedDevice.getId()); if (dfound != null) { dSaved = em.merge(dfound); } else { em.persist(dSaved); } } tx.commit(); > Now, when I would run em.merge(dSaved) instead of em.merge(dFound) > I get the Error: > "An object of type <X> with oid <Y> already exists in this context > another cannot be persisted" Merging the Object I just found causes no error, but I never get new values, as all changes are loaded from databases and current discarded. Thanks for help, greetings, Adam -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAlEKp3gACgkQefEEI87R1DfjjACfYFd6Tn/JmUnI8lPllEBtzWQD vCgAnjg2mSgtsJpiyr33KAhBUybahnR3 =CKRj -----END PGP SIGNATURE-----