| 개요
- 영속성이란, 프로그램이 종료된 이후에도 한 번 처리한 데이터는 DB에 영구적으로 반영된 상태여야 함을 뜻한다.
- 자바를 통해서 DB와 소통하는 방식은 다양한데,
그 중에서 Persistence Framework를 사용하면 Object를 통해 SQL문을 만들 수 있다.
- Persistence Framework는 크게 1) SQL Mapper 2) ORM 으로 나뉠 수 있으며, 두번째 방식이 현재 가장 많이 사용되는 방식이다.
[ 영속성이란? ]
영속성이란, 데이터를 생성한 프로그램이 종료된 후에도 사라지지 않는 데이터 특성
[ 출처 ] 위키백과
[ 자바에서 데이터를 저장하는 방법 ]
- JDBC 프로그래밍 (순수 Java) - Spring JDBC - Persistence Framework : Hibernate, MyBatis.... - 크게 SQL Mapper와 ORM으로 나뉜다. |
[ Persistence Framework의 종류 ]
구분 | 내용 | 프레임워크명 |
SQL Mapper | SQL mapper를 통해 sql <-> object | Mybatis, JdbcTemplates(Spring) |
ORM | ORM을 통해 sql <-> object | JPA, Hibernate |
| ORM
- Object Relational Mapping : 객체 관계 매핑의 약자
- 객체와 DB의 관계를 매핑해주는 도구를 말한다.
장점 | - 직관적인 코딩을 통해 가독성을 높히고, 비즈니스 로직에 집중할 수 있어 생산성이 높아진다. - 재사용 및 유지보수의 편리성 증가 - DBMS에 대한 종속성이 저하된다. |
단점 | - 완벽한 ORM만으로만 서비스를 구현하기 어렵다. - 프로시저가 많은 시스템에서는 ORM의 객체 지향적인 장점을 활용하기 어렵다. |
| 언어별 ORM 종류
|
| JPA와 Hibernate, Spring Persistence API
- JPA는 Java Persistece API의 약자로, 말 그대로 인터페이스이자 명세를 의미한다.
- 그리고 JPA를 구현한 것이, Hibernate이다.
- Spring Data JPA는 Spring 프레임워크에서 사용할 수 있게, JPA를 한단계 추상화시킨 모듈이다.
[참고 및 출처]
https://gmlwjd9405.github.io/2019/02/01/orm.html
https://hanamon.kr/orm%EC%9D%B4%EB%9E%80-nodejs-lib-sequelize-%EC%86%8C%EA%B0%9C/
https://azderica.github.io/00-db-orm/
https://suhwan.dev/2019/02/24/jpa-vs-hibernate-vs-spring-data-jpa/
'Framework > Orm&Mapper' 카테고리의 다른 글
[JPA] 인텔리J에서 JPA Entity 기반 ERD 그리기 (0) | 2022.10.19 |
---|---|
[JPA] repository.save()의 반환값이 안 들어올 때 (0) | 2022.10.19 |
[JPA] JPA 전반에 대해 간략히 이해하기 (0) | 2022.10.06 |
[JPA] JPA 프로젝트를 생성, 엔터티 단위 CRUD (JPQL이란?) (0) | 2022.09.29 |
JPA란 무엇인가? (0) | 2022.09.27 |