6. JPA는 OOP 관점에서 모델링을 할 수 있게 해준다.(상속, 콤포지션(결합), 연관관계)
: JPA를 이용해 JAVA 객체내에서 다른 객체를 자료형으로 사용할 경우 결합이 가능하다.
class car{
int id;
String name;
String color;
Engine engine;
}
class Engine{
int id;
int power;
}
: 위와 같이 2개의 객체가 있을 때, car와 engine은 결합관계라고 하며, car를 ORM 할 경우 아래와 같은 데이터 베이스 테이블들이 생성된다.
: JPA를 이용할 경우, 객체간 상속이 가능해진다.
class car extends EntityDate{
int id;
String name;
String color;
Engine engine;
}
class Engine extends EntityDate{
int id;
int power;
}
class EntityDate{
TimeStamp createDate;
TimeStamp updateDate;
}
: 위와 같이 car, Engine 객체에서 각각 EntityDate를 상속받을 경우, 아래와 같은 데이터베이스 테이블이 생성된다.
7. JPA는 방언처리가 용이하여 Migration하기가 좋다.유지보수에도 좋음
: DBMS 마다 고유의 명령어 문법(방언)이 존재한다.
: JPA에 추상화 객체를 만들어 사용할 경우, 다양한 종류의 DBMS(Oracle, postgre, mariaDB...)를 사용하여 DB에 접근할 수 있다.
'Spring' 카테고리의 다른 글
[메타코딩] 8강. 스프링 부트의 동작원리? (0) | 2023.09.21 |
---|---|
[메타코딩] 7강. 스프링 부트의 동작원리? (0) | 2023.09.20 |
[메타코딩] 5강. JPA(Java Persistence API)란? (0) | 2023.09.15 |
[메타코딩] 4강. JPA(Java Persistence API)란? (0) | 2023.09.10 |
[메타코딩] 3강. 스프링 프레임워크란? (0) | 2023.09.10 |