0648デフォルトの名無しさん
2016/02/03(水) 03:31:40.93ID:cAuK2hShjpa(eclipselink)で
Entity e = new Entity();
e.setId(1);
transaction.begin();
em.persist(e);
e.setId(2);
transaction.commit();
em.find(Entity.class,1).getId();//2
em.find(Entity.class,2).getId();//2
となるのですが動きがわかりません。
em.peraist(e)でem上でid1エンティティが作成されて、その後setid(2)でeのidを2にすると、em上のエンティティもeを参照している?ので2になってコミットされる。
ところがem.findで第2引数に1を渡すとid2のエンティティが取得されます。
どういう動きなんでしょうか。
ご教授願います。