질문: 아래 코드를 보면 노란색 형광펜으로 표시한것의 타입이 다른데 하나는 String 이고 다른 하나는 Child 객체 타입인데
왜 하나는 객체 타입을 쓰고 하나는 String 타입을 쓰는건가요??
모두 String은 쓰던가 모두 객체 타입을 써야되는거 아닌가요??
//식별관계 IdClass
@Entity
public class Parent {
@Id @Column(name="PARENT_ID")
private String id;
private String name;
}
@Entity
@IdClass(ChildId.class)
public class Child{
@Id
@ManyToOne
@JoinColumn(name="PARENT_ID")
public Parent parent;
@Id @Column(name="CHILD_ID")
private String ChildId;
private String name;
}
//자식ID
public class ChildId implements Serializable{
//Child.parent 매핑
private String parent;
//Child.childId 매핑
private String childId;
//equals, hashcode
}
@Entity
public class GrandChild{
@Id
@ManyToOne
@JoinColumns({
@JoinColumn(name="PARENT_ID")
,@JoinColumn(name="CHILD_ID")
})
private Child child;
@Id @Column(name="GRANDCHILD_ID")
private String id;
private String name;
}
//손자 ID
public class GrandChildId implements Serializable{
//GrandChild.child 매핑
private ChildId child;
//GrandChild.id 매핑
private String Id;
//equals, hashcode
}