작성
·
291
0
@ElementCollection와 @EntityGraph사용법에 대해서 잘 숙지 하였습니다.
한가지 질문이 있습니다. JPA사용시 일반적으로 쓰이는
@OneToMany, @ManyToOne, @ManyToMany를 대신해서 @ElementCollection으로대체하여 사용이 가능할까요?
왠지 될거같은생각이 들긴하는데....
답변 1
1
네. 맞습니다. 데이터베이스에는 시간 관계를 표현하지 않기 때문에 @ManyToOne등을 이용해서 표현할 수도 있습니다.
이런 경우에는 개인적으로 주체와 시간을 기준으로 생각합니다.
예를 들어 '게시물'과 '댓글'의 경우 만드는 사람이 동일하지 않고 사용되는 시간도 전혀 다르게 됩니다. 이런 경우라면 별도의 도메인으로 분리해서 봅니다.
반대로 '주문'과 '주문 상세'를 생각해 보면 결국 '주문 상세'를 수정하는 것이 '주문'을 수정하는 것과 동의어가 됩니다. 이런 경우라면 @ElementCollection을 이용하는게 낫다고 생각합니다.