ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 81 TIL
    내일배움캠프 2023. 2. 23. 22:18

     

     

    매일 새벽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 같은 느낌이였는데

    매 프로잭트 마다 배우는게 많아서 좋습니다.

     

    '내일배움캠프' 카테고리의 다른 글

    83 TIL  (0) 2023.02.27
    82 TIL  (0) 2023.02.23
    80 TIL  (1) 2023.02.22
    79 TIL  (0) 2023.02.20
    78 TIL  (0) 2023.02.20
Designed by Tistory.