我有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()
,为什么不加载相关实体坦克!
路易
答案 0 :(得分:0)
persist()持久化(插入)对象。它会持续传递它,对象在持久化之前和之后将保持不变,除了可能的赋值生成ID。
您似乎想要找到一个不存在新实体的现有实体。为此,你应该使用find()not persist。