Java 在hibernate中更新父对象后,子对象属性为空
有以下冬眠pojoJava 在hibernate中更新父对象后,子对象属性为空,java,spring,hibernate,Java,Spring,Hibernate,有以下冬眠pojo @Entity Class Parent { long id // id, generate auto increment Child child // many to one, eager fetch, no cascade } @Entity Class Child{ long id // id, generate auto increment String name; } 有春季服务吗 @Transactional void myMethod() {
@Entity
Class Parent {
long id // id, generate auto increment
Child child // many to one, eager fetch, no cascade
}
@Entity
Class Child{
long id // id, generate auto increment
String name;
}
有春季服务吗
@Transactional
void myMethod() {
Parent parent = session.getParent(id); // id=10
// Here parent has child object {id: 20, name: "FirstChild"}
Child newChild = new Child(21); //DB has a child row with id 21 and name "SecondChild"
parent.setChild (newChild);
session.update(parent);
System.out.println(parent.getChild.getName())
// This print NULL
}
我希望这将打印“SecondChild”,因为父对象是一个持久对象,并且我们处于同一个hibernate会话中。我错在哪里
Parent parent = session.getParent(id); // id=10
// Here parent has child object {id: 20, name: "FirstChild"}
Child newChild = session.getChild(21);
parent.setChild(newChild);
session.update(parent);
从DB中检索子项,而不是手动创建它