2017-12-28 10 views
1

내가 부모가 지속적으로이 "SecondChild"을 인쇄 할 것으로 예상자식 개체 속성은

@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 
} 

봄 서비스 다음 적이 최대 절전 모드 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; 
} 

을 다음 적이 최대 절전 모드에서 부모 업데이트 후, NULL 있습니다 개체와 우리는 같은 최대 절전 모드 세션에 있습니다. 내가 틀린 곳?

답변

2
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); 

자식을 수동으로 생성하지 않고 가져옵니다.