JPA

[JPA] JPA란?

개발 공주 2023. 7. 9. 14:45
728x90

[참고] https://pink-love-princess.tistory.com/90 ORM이란

💡 JPA: Java Persistence API 자바 ORM 기술에 대한 표준 명세

 

JPA 동작

JPA는 애플리케이션 서버와 JDBC 사이에서 동작된다.

JPA를 사용하면 DB 연결 과정을 직접 개발하지 않아도 자도으로 처리해준다.

객체를 통해 간접적으로 DB데이터를 다룰 수 있기 때문에 매우 쉽게 DB 작업을 처리할 수 있다.


하이버네이트(Hibernate)란?

JPA를 사용하기 위해서 JPA를 구현한 ORM 프레임워크 중 하나이다. ORM 프레임워크 중 가장 많이 사용되며, JPA 인터페이스의 실제 구현부를 담당한다.

 

장점

👉 객체 지향적으로 데이터를 관리할 수 있기 때문에 비즈니스 로직에 집중할 수 있으면 객체지향 개발이 가능

👉 테이블 생성, 변경, 관리가 쉬움

👉 로직을 쿼리에 집중하기 보다는 객체 자체에 집중 할 수 있음

 

단점

👉 SQL보다 다루기가 어려움

👉 잘 이해하고 사용하지 않으면 데이터 손실이 발생

메소드 호출로 SQL을 실행하기 때문에 세밀함이 떨어진다. 또한 객체간의 매핑(Entity Mapping)이 잘못되거나 JPA를 잘못 사용하여 의도치 않은 동작을 할 수 있다. 이를 주의해서 SQL 자체 쿼리를 작성할 수도 있다.

👉 성능상 문제가 있어, 과부하가 걸릴 수 있음

메소드 호출로 쿼리를 실행한다는 것은 내부적으로 동작이 많다는 것을 의미하므로, 직접 SQL을 호출하는 것보다 성능이 많이 떨어질 수 있다.

 

 

[참조]

https://velog.io/@alicesykim95/JPA-ORM-JDBC-Hibernate%EB%9E%80

'JPA' 카테고리의 다른 글

[JPA] 쓰기 지연 저장소  (0) 2023.07.09
[JPA] 1차 캐시  (0) 2023.07.09
[JPA] 트랜잭션  (0) 2023.07.09
[JPA] 영속성 컨텍스트  (0) 2023.07.09
[JPA] Entity  (0) 2023.07.09