JPA 개념정리

이진섭·2022년 11월 7일
0

Spring_boot

목록 보기
7/16

JPA 동작과정

  • jpa는 애플리케이션과 jdbc사이에서 동작하여 개발자가 jpa를 사용하면, jpa내부에서 jdbc api를 사용하여 sql을 호출, DB와 통신한다.

jpa를 쓰는 이유

  • db중심의 설계 단점을 보완하고, 효율적인 개발 방법론에 대한 고민
  • 객체를 데이터 전달 목적으로만 사용하는 것이 아닌, 객체지향의 장점을 살리고 객체와 테이블을 매핑시켜주는 ORM이 주목받음

장단점

  • 장점: 객체중심적 개발 가능, 생산성 유지보수 용이, 실시간 처리용 쿼리에 용이
  • 단점: 업무 비즈니스가 복잡할 경우, 사용하기 어려움, 대용량 데이터 환경에서 튜닝어려움

영속성 컨텍스트

  • jpa를 이해하는 데 가장 중요한 용어
  • 엔티티를 영구저장하는 환경이라는 뜻
  • EntityManager.persist(entity)
  • 엔티티매니저를 통해 접근
  • 엔티티매니저와 영속성 컨텍스트(PersistenceContext)가 N:1관계

플러시(flush)

  • 영속성 컨텍스트의 변경내용을 데이터베이스에 반영
  • sql 쿼리를 데이터베이스에 전송
  • entitymanager.flush() -> 직접 호출

준영속

  • 해당 엔티티를 관리하지 말라는 것
profile
하루하루성장하기

0개의 댓글