[JPA] JPA란

zxcvbee·2022년 4월 30일
0
post-thumbnail

Java orm(object-relational mapping : 객체 관계 매핑) 표준이다.

JPA는 어떻게 동작할까?

개발자가 JPA에 명령하면 -> JPA가 JDBC api를 사용해서 SQL문을 호출하고 -> 결과를 받아서 동작한다.

왜 JPA를 사용할까?

  • 기존의 SQL 중심적인 개발에서 객체 중심의 개발을 가능하게 한다.
  • CRUD 각각 메소드를 불러서 사용하면 되기에 생산성이 향상된다.
  • 기존에는 필드를 변경할 일이 생긴다면, 모든 SQL을 수정해야했다. 하지만, JPA는 그렇지 않기에 유지 보수에도 탁월하다.
  • 패러다임의 불일치를 해결한다.
    패러다임의 불일치란, 데이터를 정규화해서 보관하는 것이 목표인 관계형 Database와 필드, 메서드를 잘 묶어서 캡슐화하는 것이 목표인 객체 사이의 근본적인 목적과 틀이 다르기에 발생하는 문제를 해결해준다는 것이다.
    - 먼저, 객체 그래프 탐색이 가능해진다.
    - 신뢰할 수 있는 엔티티, 계층이 생긴다.
    - 같은 트랜젝션에서 조회한 엔티티는 똑같은 엔티티인 것을 보장해준다.
  • 성능을 최적화하는 기능이 있다.
    • 모아두었다가 한 번에 전송하는 버퍼링의 기능으로 트랜잭션을 지원하는 쓰기를 지연시킨다.
    • 객체가 실제 사용될 때 로딩되는 지연 로딩 기능이 있다.

JPA라는 중간 계층을 잘 다룬다면, 성능을 끌어올릴 수 있다.

계층 사이에 중간 계층이 있다면,
1. 모아서 쏘는 버퍼링
2. 읽을 때 캐싱 기능
을 가능케 하기 때문이다.

0개의 댓글