JPA(Java Persisitence API)란
어플리케이션과 JDBC 사이에서 동작하는 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음
Hibernate(하이버네이트)란
하이버네이트는 자바 언어를 위한 ORM 프레임워크이고 JPA의 구현체(인터페이스를 구현한 클래스라는 뜻)
ORM(Object-Relational Mapping)이란
애플리케이션 Class와 RDB(Relational DataBase)의 테이블을 매핑(연결)한다는 뜻
JPA 사용이유
JPA는 반복적인 CRUD SQL을 처리해준다. (생산성)
유지보수 시 적은 코드 비용 (유지보수 쉬움)
애플리케이션과 데이터베이스 사이에서 성능 최적화 제공 (불필요한 자원사용 감소)
기능 및 사용방법
저장: jpa.persist(객체명)
조회: Class 객체명 = jpa.find(PK)
수정: 객체명.변경할변수명("변경할내용")
삭제: jpa.remove(객체명)
JPA 성능에 대한 내용
같은 트랜잭션 안에서는 같은 엔티티를 반환 - 약간의 조회 성능 향상
-> 중복 조회 시 캐시에 담은 첫 번째 엔티티로 반환하여 DB 호출 횟수 감소
트랜잭션을 지원하는 쓰기 지연(transactional write-behind) - 버퍼링 기능
-> 저장, 수정 시 한번에 처리 (트랜잭션 기능 제공)
객체가 실제로 사용될 때 로딩하는 전략 - 지연 로딩(Lazy Loading)
참고 URL
https://dbjh.tistory.com/77
https://gmlwjd9405.github.io/2019/08/04/what-is-jpa.html
https://girawhale.tistory.com/119
https://girawhale.tistory.com/119
[Spring JPA] JPA 란?
이번 글에서는 JPA(Java Persistence API)가 무엇인지 알아보려고한다. JPA는 자바 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음이다. 그 말은 즉, 실제적으로 구현된것이
dbjh.tistory.com
'IT' 카테고리의 다른 글
Docker(도커) (0) | 2023.02.14 |
---|---|
TCP/IP (0) | 2023.02.10 |
Vue.js(Vue) (0) | 2023.02.06 |
REST, REST API (0) | 2023.02.01 |
서브쿼리(Subquery), 뷰(View) (0) | 2023.01.31 |