jpa 아직 미숙해서 초보적인 질문 이해 부탁드립니다
외래키 없이 엔티티 설계할때
외래키 없이 엔티티 설계할때
예를들어 Order : Member -> N:1 이라고 쳤을 때
Order 엔티티에
Member 객체를 참조하시는지
아니면 member_id 정도만 필드로 참조하시는지.. 어떻게 하시나요??
아니면 아예 참조 자체를 안쓰는 경우도 있나요?
Member 객체 자체를 참조한다고 하면
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
private Member member;
@JoinColumn(name = "member_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
private Member member;
이런식으로 하는것도 방법일거같은데
뭔가 이렇다할 감이 안잡혀서.
둘 다 씀 케 바 케
그냥 박아보면서 둘다 써봐야겠네유
같은 도메인에 소속된 서브도메인들이면 객체연관 지어놓는게 좋고, 거리가 좀 있으면 식별자 정도만 가지고 있는게 좋음 이런거 판단하기 귀찮으니까 다 객체연관 짓거나, 다 식별자 정도만 가지고 있는 경우도 많음 후자의 경우에는 보통 엔티티를 도메인 객체로 쓰지 않고 데이터 읽기, 저장용으로만 씀
일단 전부 객체로 연관짓고 개발하면서 이건 굳이 읽기, 저장정도만 쓰겠다싶음 id정도만 참조하도록 해보겠습니더
대기햄 그러면 객체 연관 짓느다하면 본문에 쓴 저런식으로 참조하는게 맞나여?
정답은 없다는거만 기억해
ㅇㅇ 맞아
감사합니더
이상한데 신경쓰지말고 그냥 외래키쓰셈 - dc App
전에 프로젝트에서 외래키 때문에 테스트할때마다 불편해서 이번엔 안쓸려고했던건데 흠
어떤점이 불편하셨는데요? - dc App
외래키 제약조건 쓰란 소리야?
하나의 도메인만 테스트 하고싶은데 그 도메인에 걸려있는 외래키 때문에 다른 엔티티도 매번 생성하고 이런게 좀 불편했음
제약조건 안 걸고 걍 필드추가하고 조인 사용
객체 참조안하고 id정도만 참조해서 join 쓴다는 말이져?
Id만