아델
718
2018-09-26 14:37:17 작성 2018-09-26 14:38:05 수정됨
0
516

JPA 식별 관계 매핑(복합키 )


질문: 아래 코드를 보면 노란색 형광펜으로 표시한것의 타입이 다른데 하나는 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

}

0
  • 답변 0

  • 로그인을 하시면 답변을 등록할 수 있습니다.