반응형

OneToMany 5

태태개발일지 - 양방향 연관관계

양방향 연관관계 앞서 OneToMany , ManyToOne, OneToOne, ManyToMany 관계를 알아보았다. 양방향 연관관계는 ManyToMany를 말하는 것이 아니다. OneToMany 와 ManyToOne 으로 서로 연관관계를 맺었을 때에 대한 이야기이다. -- sudo code --public class One{ private Long id; @ManyToOne @JoinColumn(name = "TWO") private Two two;} -- sudo code --public class Two{ private Long id; @OneToMany(mappedby= "two") private List ones;}  아래와 같이 서로 양방향으로 연관..

Spring/JPA 2024.11.22

태태개발일지 - ManyToMany

ManyToMany * 실무에서 ManyToMany 관계를 사용하는 경우는 거의없다. * => 아래 이유를 설명하겠다. 일단 N:N관계에 ManyToMany 어너테이션을 사용하게된다.사실 상 DB에서 N:N 관계에 정규화된 테이블에 연관을 맺게되려면, 무조건 가운데 테이블을 하나 생성하고 만들게된다.ex) 그렇다면 JPA 에서 ManyToMany는 무엇인가?ManyToMany를 선언하게 된다면, 그냥 저 가운데 테이블이 메핑이 되는 것이다. ex)public member{ @Id private Long id; @ManyToMany @JoinColumn(name = "MEMBER_ID") private List teams; } public Team{ @Id ..

Spring/JPA 2024.11.15

태태개발일지 - OneToOne

OneToOne DB에서 1대 1관계라고 생각하면 된다. *JPA에서는 OneToOne 어너테이션을 사용하면 되고, 외래키가 있는 곳을 연관관계의 주인으로 설정하면 된다.*public class Member(){ @Id private Long id; @OneToMany @JoinColumn(name = "STAM_ID") private STAMP stamp;}  public class Stamp(){ @Id private Long id; @OneToMany(mappedBy="stamp") private Member member;}  OneToOne 은 엔티티를 가져올때 LAZY로 처리해도 무조건 즉시 로딩이된다.그 이유는 값이 있는 지 확..

Spring/JPA 2024.11.15

태태개발일지 - JPA 연관관계

OneToMany JPA강의를 듣다 보니 ManyToOne을 반대쪽으로 설정하면 OneToMany다라고 생각했는데 One인 곳이 연관관계의 주인이 되는 OneToMany가 있다는 것을 인지한 후 글로 정리한다. @Entitypublic class Member{ @ID private Long id } @Entitypublic class Team{ @Id private Long id; } 다음과 같이 엔티티를 보았을 때 Member와 Team은 N:1 관계이다.DB에는 Member에 Team의 외래키가 들어있는 상황. Member를 연관관계의 주인으로 보았을 땐 Member에 JoinColum을 두고 관계를 맺으면 깔끔하다.근데 Member에서는 Team에 대한 데이터를 다루고 싶지 않을 때 우..

Spring/JPA 2024.11.14

32~34

오늘은 JPA Spring boot의 핵심기능에 대해서 정리해 보고자 한다.기존 JDBC Spring JDBC등 Spring의 Repository역활을 하는 데이터베이스 기술들이 있지만, 요즘의 대세는 JPA기술이라고 한다.즉 JPA는 ORM기술로 데이터베이스로 연동할때 객체를 중심으로 연동하는 기술이다. 즉 클래스를 테이블로 인식하고 연동하는 기술이다. JPA의 P는 영속성을 뜻하는데 이것은 entitymanger을 통해서 확인할 수 있다. ORM은 객체(Object)와 데이터베이스 테이블의 매핑을 통해 엔티티 클래스 객체 안에 포함된 정보를 테이블에 저장하는 기술입니다.JPA에서는 테이블과 매핑되는 엔티티 객체 정보를 영속성 컨텍스트(Persistence Context)라는 곳에 보관해서 애플리케이션..

반응형