230627(화)-TIL

조우진·2023년 6월 28일
0

TIL

목록 보기
20/28

오늘 배운 내용

  • 지연 로딩
    @Many ~ : 지연로딩(Collection 이용하여 값을 담게 되므로, 필요한 순간에 조회)
    @One ~ : 즉시로딩 수행
  • JPA
    애플리케이션에 DB에 접근해서 써야하는데, 원래였으면 SELECT 쿼리 등 써야하지만
    이를 객체로 쓰게 해줄 수 있도록, ORM(Object Relation mapping)으로 쓸 수 있도록 함

장점 : 릴레이션인데 객체지향적으로 사용할 수 있다.
객체 모델만 이용해서 프로그래밍을 하는데 집중할 수 있게 한다.
SQL문을 사용하면서 같이 필요한 선언문, 할당, 종료 같은 부수적인 코드가 사라지거나 줄어듦

단점
객체 - 관계 간의 불일치
세부성 -> 경우에 따라 DB 내 테이블 수 보다 많은 클래스를 가진 모델이 생길 수 있다.
상속성 -> RDBMS는 객체지향 프로그래밍 언어의 특징인 상속 개념이 없다.
일치 : RDBMS는 기본키를 이용하여 동일성 정의. 그러나 자바는 객체 식별(a==b)와 객체 동일성(a.equals(b))를 모두 정의함

  • 연관관계 매핑 기초 3가지
  1. 방향(Direction) :단방향/양방향
    -> DB에는 foreign key만 있을 뿐, Entity class에서 선언
    방향은 객체 관계에만 존재하고, 테이블관계는 항상 양방향이다.

  2. 다중성(Multiplicity) : N:1/1:N/1:1/N:M
    -> 비즈니스 도메인의 관계를 이해하는 것이 선행

  3. 연관관계의 주인(Owner)
    객체를 양방향 관계로 만들면 연관관계의 주인을 정해야한다.
    엔티티 하나를 조회하면 딸려오는 엔티티들이 있을 수 있다.

profile
공부노트

1개의 댓글

comment-user-thumbnail
2023년 6월 30일

우웅

답글 달기