묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
orderItem에 연결되는 order_id는 어느 시점에서 연결이 되는 걸까요?
안녕하세요, 김영한님 야생형 스타일로 강의 잘 듣다가 질문드립니다.질문을 적다가 order가 형성되는 순간에 해당 order와 입력된 orderItem과 연결이 되는 거 같다는 생각이 들었습니다. 제가 생각한 게 맞는지 질문드립니다. 정리하자면, OrderService에서 order 메소드를 실행할 때 orderItem과 생성된 order_id는 order가 생성되는 순간 해당 order_id와 orderItem와 연결되는 건가요? 답변해주시면 감사하겠습니다.감사합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
@ManyToOne 에서 조건절을 추가 해야 한다면
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요. 강의 잘 듣고 있습니다. 저희 레거시 시스템에 JPA를 적용 하려는데 연관관계 매핑중 궁금한 사항이 있어 질문드립니다. 예를 들어 아래와 같은 팀, 멤버 테이블이 있습니다. 데이터 삭제는 없고 DEL_YN 이란 컬럼으로 관리되고 있습니다. (Y : 삭제) 멤버테이블에서 foreign key 는 team_id 가 아니고 team_code 로 되어 있습니다. 이와 같은 관계에서 연관관계 매핑을 다음과 같이 했습니다. @Entity public class Team { @Id @GeneratedValue @Column(name="TEAM_ID") private Long id; @Column(name="TEAM_NAME") private String teamName; @Column(name="TEAM_CODE") private String teamCode; @OneToMany(mappedBy = "team") // 읽기 전용 private List<Member> members = new ArrayList<>(); public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getTeamName() { return teamName; } public void setTeamName(String teamName) { this.teamName = teamName; } public String getTeamCode() { return teamCode; } public void setTeamCode(String teamCode) { this.teamCode = teamCode; } public List<Member> getMembers() { return members; } public void setMembers(List<Member> members) { this.members = members; } } @Entity public class Member { @Id @GeneratedValue @Column(name="MEMBER_ID") private Long id; @Column(name= "MEMBER_NAME") private String memberName; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "TEAM_CODE", referencedColumnName = "TEAM_CODE") // DEL_YN = 'N' 추가하려면? private Team team; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getMemberName() { return memberName; } public void setMemberName(String memberName) { this.memberName = memberName; } public Team getTeam() { return team; } public void changeTeam(Team team) { this.team = team; team.getMembers().add(this); } } 이와 같은 연관관계에서 team.getMembers() 또는 member.getTeam() 에서 DEL_YN = 'N' 인 데이터만 조회되게끔 하려면 어떻게 해야 하나여?