-
매일 새벽3시까지 코딩만하니 TIL 적을 시간도 없네요
연관관계, DB 메소드 등의 오류에 박터지게 시달려서 이젠 좀 알것 같습니다.
뭐 하나 추가하면 밥 먹듯이 보던게 DDL Error 였는데 예약어로 지정되어 있는 Entity 명 등을 수정하거나
연관관계 정리하면 깔끔해지더라고요. 연관관계는 어느 때 뭘 사용하고 어떻게 연결하는지 몰랐는데
기본적으로 단방향 연결을 지향하며 중복사용이 많은 코드의 경우 양방향 연결을 고려합니다
@OneToMany 의 경우에 mappedBy 로 연결할 다른 entity 에 필드명과 일치해야하고
연관관계 주인을 지정하여 주인만이 외래 키 등록, 수정, 삭제를 하고 다른쪽은 읽기만 가능 하게합니다
class Member { @ManyToOne//연관관계의 주인 @JoinColumn(name = "TEAM_ID") private Team team;//team대신 kkk라면 } class Team { @OneToMany(mappedBy="team")//"team" 대신 "kkk" private List<Member> members = new ArrayList<>(); }
신긴했던게 단방향으로 @OneToMany 를 하니까 entity도 아닌데 table이 자동 생성되서 놀랐습니다
물어보니까 @OneToMany, @ManyToOne, @ManyToMany 의 경우 @JoinColumn 으로 설명이 안되서
Jpa 가 자동으로 브릿지 테이블을 만들어 주는거라고 하네요 약간 @JoinTable 같은 느낌이였는데
매 프로잭트 마다 배우는게 많아서 좋습니다.