개발기록
[JDBC] Persistance Framework 관련 본문
Java에서 영속적인 데이터 관리를 위해서는 Persistance Framework를 사용하고 있다.
이 프레임 워크는 크게 SQL Mapper와 ORM(Object-Relationship Mapping)으로 나눌 수 있다.
그럼 이 두 개의 차이점은 무엇일까?
ORM은 데이터베이스 객체를 자바 객체로 맵핑함으로써 객체 간의 관계를 바탕으로 SQL을 자동으로 생성해주는데 반해, SQL Mapper는 직접 SQL을 명시해주어야 한다.
추가로, ORM은 관계형 데이터베이스의 '관계'를 object에 반영하자는 것이 목적이라면,
SQL Mapper는 단순히 필드를 맵핑시키는것이 목적이라 지향 점의 차이가 있다고 볼 수 있다.
1. SQL Mapper
- SQL <-맵핑-> Object 필드
- SQL Mapper는 SQL 문장으로 직접 데이터베이스 데이터를 다룬다.
장점 :
1) SQL에 친숙할 경우 JPA에 비해 쉽다.
2) SQL 세부내용 변경시 편리하다.
단점 :
1) DB 설정 변경시 수정할 부분이 많다
2) Mapper 작성부터 인터페이스 설계까지 더 많은 로직이 필요
3) 특정 DB에 종속적이다.
2. ORM
- 데이터베이스 데이터 <-맵핑->Object 필드
- 객체를 통해 간접적으로 데이터베이스 데이터를 다룬다.
- 객체와 관계현 데이터베이스의 데이터를 자동으로 맵핑해준다.
장점 :
1) RDB 종류와 관계없이 사용 가능
2) 기본적인 CRUD 제공, 비즈니스 로직에 집중 가능
3) 테이블 생성, 변경등 엔티티 관리 간편
4) 쿼리에 집중할 필요가 없어 빠른 개발 가능
단점 :
1) 어렵다,,
'JAVA' 카테고리의 다른 글
[Spring Framework] Bean (0) | 2020.07.15 |
---|---|
Webjar (0) | 2020.07.09 |
@Controller와 @RestController의 차이 (0) | 2020.07.09 |
[Java] 문자열 특정 패턴 추출/제거 (0) | 2020.03.24 |
[Java] 문자열->정수 형변환 (0) | 2020.03.24 |