강의

멘토링

로드맵

Inflearn Community Q&A

leemaru's profile image
leemaru

asked

Java ORM Standard JPA Programming - Basics

Bidirectional Association and the Owner of Association 2 - Caveats, Summary

Self-refrence

Written on

·

291

0

안녕하세요! 수업 정말 잘 듣고 있씁니다.

연관관계에 대해서 수업을 들었는데, 

jpa에서 one to one 관계의 self-refernce 의 관계에 있는

한개의 엔티티에서 연관관계를 만드는게 가능한가요? 

예) User 의 엔티티에 user는 one to one으로 한명의 User의 친구를 가질 수 있다! 

라고 가정을 했을 때 연관관계 매핑이 가능한지, 된다면 참조할 만한 자료가 있을지, 안된다면 안되는 이유에 대해서 알고싶습니다. 감사합니다. ㅎㅎ

JPAjava

Quiz

객체와 관계형 데이터베이스가 관계를 표현하는 방식의 근본적인 차이는 무엇일까요?

객체는 ID, 테이블은 이름

객체는 참조, 테이블은 외래 키

객체는 속성, 테이블은 레코드

객체는 단방향, 테이블은 양방향

Answer 2

1

leemaru님의 프로필 이미지
leemaru
Questioner

주말인데 이렇게 직접 답을 달아주셔서 너무 감사합니다. ! 

0

yh님의 프로필 이미지
yh
Instructor

안녕하세요. seokmin0277님^^

가능합니다.

예를 들면 다음과 같이 작성하시면 됩니다.

User {

  Long id;

  @OneToOne

  @JoinColumn(name="target_user")

  User user;

}

활용 1편에서는 카테고리가 self-refernce 하는 설계를 보여드립니다. 다음 코드를 참고해주세요^^

@Entity

@Getter @Setter

public class Category {



    @Id @GeneratedValue

    @Column(name = "category_id")

    private Long id;



    private String name;



    @ManyToOne(fetch = FetchType.LAZY)

    @JoinColumn(name = "parent_id")

    private Category parent;



    @OneToMany(mappedBy = "parent")

    private List<Category> child = new ArrayList<>();

}
leemaru's profile image
leemaru

asked

Ask a question