작성
·
552
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예
[질문 내용]
저희 예제에서는 없었지만 A라는 엔티티가 있고 B라는 엔티티가 있는데 A와 B는 1대N관계라고 할때 A를 통해 B를 사용하지만 그렇다고 B로 A를 찾아가진 않습니다.(즉 A에서 B로 단방향 연관관계를 맺고 싶은 상황입니다)
그런데 다 쪽(B)에 항상 외래키가 있어야하므로
@ManyToOne(JoinColumn...을 쓰면 B에서 A로 가는 방향도 자동으로 설정되는 것아닌가요?
그렇게 되면 어쩔수 없이 양방향 연관관계로 사용할 수 밖에 없나요??
답변 1
0
저는 DB 모델링과 객체 지향 프로그래밍 사이의 간극을 해소하기 위해 JPA와 같은 ORM이 나온 것이라는 전제 하에
한 객체에서 필드로 다른 객체를 참조하게 되면 연관관계가 생긴 것이라고 생각합니다. 그런 점에서 연관관계가 형성되었다고 보고, 객체 간의 관계에 따라 다대일, 일대일, 일대다 등으로 부른다고 생각합니다. 결국 방향이라는 것도 다 측 객체에서 일 측 객체로 연관관계를 이어주니까 다->일로 연관관계를 걸어준 것이고, 그래서 다대일 단방향 연관관계라고 하는 것이라고 저는 이해하고 있습니다.
사실 개념이 헷갈려서요.
방향이라는게 만약 다 쪽에 @ManyToOne(...)Member member 이 있으면 그냥 방향이 연결된 거라고 보는 건가요?