Проблема EntityManager.persist на объекте, связанном с нагрузкой - PullRequest
0 голосов
/ 31 августа 2011

У меня проблема с EntityManager.persist (я использую tooplink из glassfish).

Мой код:

MyEntity e = new MyEntity();
MyEntityPK ePK = new MyEntityPK();
ePK.setField1("aaa");
ePK.setField2("bbb");

e.setMyEntityPK(ePK);
e.setFiled3(ccc);

entityManager.persist(e);

//HERE NOT PROBLEM
//If a i want a related entity, i get null

AnotherEntity anotherEntity = e.getAnotherEntity();
//a is null

Почему "anotherEntity" равно нулю? После сохранения объект начинает присоединяться к PersistenceContext. Почему связанный объект не загружается, если я вызываю getAnotherEntity ()

Танки!

Luigi

1 Ответ

0 голосов
/ 01 сентября 2011

persist () сохраняет (вставляет) объект.Он сохраняет то, что вы передаете, объект останется неизменным до и после сохранения, за исключением возможного присвоения сгенерированного идентификатора.

Похоже, вы хотите найти существующую сущность, но не сохранить новую.Для этого вы должны использовать find () not persist.

...