사라지지 않는
데이터의 특성영속성
을 부여해주는 계층간단히
DB와 연동되는 시스템을 빠르게 개발할 수 있으며,SQL Mapper
ORM
직접
DB의 데이터를 다룸
Mybatis
, JdbcTemplates
등간접적
으로 DB의 데이터를 다룸
직관적 코드
(매서드)를 통해 조작 가능자동 생성
JPA
, Hibernate
등장점
직관적
이고 비즈니스 로직에 더 집중할 수 있게 도와줌재사용
및 유지보수
의 편리성이 증가함줄어듬
단점
서비스를 구현하기가 어려움
속도 저하
및 심각할 경우 일관성이 무너지는
문제점 발생객체 지향적인 장점을 활용하기 어려움
API
근간
내부적
으로 JDBC API를 사용 API 표준 명세
로 Java에서 제공하는 APIJPA 구현체
를 선택해 사용 가능
JPA의 구현체 중 하나
JDBC API
를 사용해 SQL 구현HQL
(Hibernate Query Language)라 불리는 강력한 쿼리 언어 포함빠른 개발
가능객체
에 집중 가능관리
가 쉬움어려움
(많은 것을 알아야 함)데이터 손실
및 성능 저하
유발 SQL Mapper
XML
과 Annotaion
사용 가능모든 컨트롤
을 할 경우 적합쿼리 최적화
가 잘 되있을 경우 유용모든 관계
에 대한 조작을 하고자 할 때는 적합하지 않음