与负载相关的实体上的EntityManager.persist问题

时间:2011-08-31 15:51:52

标签: jpa entitymanager

我有EntityManager.persist的问题(我使用了glassfish的tooplink)。

我的代码是:

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()

,为什么不加载相关实体

坦克!

路易

1 个答案:

答案 0 :(得分:0)

persist()持久化(插入)对象。它会持续传递它,对象在持久化之前和之后将保持不变,除了可能的赋值生成ID。

您似乎想要找到一个不存在新实体的现有实体。为此,你应该使用find()not persist。

相关问题