-
Spring boot JPA/하이버네이트?Spring Boot/JPA 2022. 1. 4. 10:54
"JPA는 데이터베이스 기술이라기보다 애플리케이션의 데이터를 객체지향으로 볼 수 있게 해주는 객체 지향 기술이다."
전자정부 프레임워크에는 몇 가지 데이터 액세스 기술을 제공하는데. JPA는 데이터에 접근하는 방법 중 하나
1) 아이바티스(or 마이바티스)
2) 하이버네이트
3) JPA
4) 스프링 JPA
5) 스프링 몽고 DB
... 등등
목차
- JPA란
- 하이버네이트란?
JPA란?
JPA(Java Persistence API)는 자바 진영의 ORM 표준 기술이다.
ORM - Oriented Relational Mapping 은 이름 그대로 객체와 RDBMS를 매핑해주는 기술이다.
SQL을 작성하는게 아니라, 자바 컬렉션 저장하듯이 객체를 ORM 프레임워크에 저장하고 프레임워크가 데이터베이스에 알아서 저장해준다.
이러면 뭐가 좋은데?
1) 벤더 독립성 : 데이터베이스를 변경하기 쉽다 (H2 -> MySql -> 오라클)
2) 유지보수 (이전에는 엔티티 필드 하나만 수정해도 SQL CRUD, JDBC API 코드 모두 변경해야함)
3) 개발 시간 단축 (생산성)
4) 패러다임 일치 (sql은 데이터베이스를 좀더 잘 사용하기 위해서 탄생. 객체지향의 패러다임과는 다르다. (객체 지향 패러다임? 캡상추다! 객체 모델링을 상속을 받게 했는데, 테이블에는 상속이 없다 처럼,, sql은객체 지향의 4원칙을 사용할 수 없다)
JDBC는 뭐냐? 자바가 데이터베이스에 접근하게 해주는 API
Java™ database connectivity (JDBC) is the JavaSoft specification of a standard application programming interface (API) that allows Java programs to access database management systems. The JDBC API consists of a set of interfaces and classes written in the Java programming language.
하이버네이트? Hibernate?
JPA는 자바 ORM 기술에 대한 표준 명세다. 쉽게 말하면 인터페이스의 모음집이다.
Hibernate는 JPA를 구현해주는 구현체들 중 하나이다.
Resource
JDBC란? : https://www.ibm.com/docs/en/informix-servers/12.10?topic=started-what-is-jdbc
반응형'Spring Boot > JPA' 카테고리의 다른 글
QueryDsl projections 자바 Record에 적용하기 (1) 2024.04.23 JPA 주의점 (1) - OSIV false 설정 (open-in-view) (0) 2024.04.19 [JPA] 간단하게 OneToMany 데이터 API 구현하기 - @Embeddable, @Embedded, @ElementCollection 활용하기 (1) 2023.10.15 [JPA] Repository단에 Transactional을 선언하는 이유 (0) 2023.10.05 JPA 애플리케이션 데이터베이스 초기화 (0) 2023.09.17