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

+ Recent posts