- JPA
애플리케이션에 DB에 접근해서 써야하는데, 원래였으면 SELECT 쿼리 등 써야하지만
이를 객체로 쓰게 해줄 수 있도록, ORM(Object Relation mapping)으로 쓸 수 있도록 함장점 : 릴레이션인데 객체지향적으로 사용할 수 있다.
객체 모델만 이용해서 프로그래밍을 하는데 집중할 수 있게 한다.
SQL문을 사용하면서 같이 필요한 선언문, 할당, 종료 같은 부수적인 코드가 사라지거나 줄어듦단점
객체 - 관계 간의 불일치
세부성 -> 경우에 따라 DB 내 테이블 수 보다 많은 클래스를 가진 모델이 생길 수 있다.
상속성 -> RDBMS는 객체지향 프로그래밍 언어의 특징인 상속 개념이 없다.
일치 : RDBMS는 기본키를 이용하여 동일성 정의. 그러나 자바는 객체 식별(a==b)와 객체 동일성(a.equals(b))를 모두 정의함
방향(Direction) :단방향/양방향
-> DB에는 foreign key만 있을 뿐, Entity class에서 선언
방향은 객체 관계에만 존재하고, 테이블관계는 항상 양방향이다.
다중성(Multiplicity) : N:1/1:N/1:1/N:M
-> 비즈니스 도메인의 관계를 이해하는 것이 선행
연관관계의 주인(Owner)
객체를 양방향 관계로 만들면 연관관계의 주인을 정해야한다.
엔티티 하나를 조회하면 딸려오는 엔티티들이 있을 수 있다.
우웅