Hier ist mein Szenario (Ich verwende Datanucleus, JDO, aber ich denke, es ist zu JPA gilt auch):
Was ist das Verhalten von JDO/ORMs, wenn ein persist() für ein Objekt ausgeführt wird?
tx.begin();
Dog d = new Dog();
persistenceManager.persist(d);
d.setName("Doggie");
tx.commit();
In dem obigen Code, der Name "Hund" in der Datenbank nicht persistent ist. Wenn jedoch
tx.begin();
Dog d = new Dog();
d.setSize(10);
persistenceManager.persist(d);
Dog d2 = dogDao.getDogBySize(10);
d2.setName("Doggie");
tx.commit();
funktioniert es tun!
Ist dieses Verhalten auf die Tatsache zurückzuführen, dass mein "zweiter" Hund irgendwie eine verwaltete Instanz ist, die aus der Datenbank genommen wird, während im ersten Beispiel das Objekt nicht verwaltet wird?
Ist es ein JDO-spezifisches Verhalten?
Danke!
Warum nicht nur auf das Protokoll schauen? Es ist da um dir doch zu helfen ... – DataNucleus