JPA

Goofi·2023년 8월 1일
0

JPA(Java Persistence API)

  • JPA는 Java Persistence API이다.
  • JPA는 ORM 기술이다.
  • JPA는 반복적인 CRUD 작업을 생략하게 해준다.
  • JPA는 영속성 컨텍스트를 가지고 있다.
  • JPA는 DB와 OOP의 불일치성을 해결하기 위한 방법론을 제공한다. (DB는 객체저장 불가능)
  • JPA는 OOP의 관점에서 모델링을 할 수 있게 해준다. (상속, 콤포지션, 연관관계)
  • 방언 처리가 용이하여 Migration하기 좋음. 유지보수에도 좋음.
  • JPA는 쉽지만 어렵다.

JPA는 Java Persistence API이다.

영속성(persistence)는 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성을 의미한다. 영속성은 파일 시스템, 관계형 데이터베이스 혹은 객체 데이터베이스 등을 활용하여 구현한다.

인터페이스

프로토콜

JPA는 ORM 기술이다.


파란색순서가 ORM

JPA는 영속성 컨텍스트를 가지고 있다.

영속성 : 데이터 -> 영구적으로 저장
컨텍스트란?
대상에 대한 모든 정보를 가지고 있는 것이다.

즉, 영속성 컨텍스트란 자바가 데이터베이스에 저장하고 데이터베이스에 있는 데이터를 select해서 가져오는 일련의 모든 정보를 영속성 컨텍스트를 통해서 모두 확인할 수 있다.

  • 자바가 데이터베이스에 저장해야 되는 모든 메타데이터들의 정보들을 영속성 컨텐스트가 모두 가지고 있다.
  • 자바는 항시 영속성 컨텍스트를 통해서 데이터베이스에 데이터들을 저장하고 데이터베이스에 있는 데이터도 영속성 컨텍스트를 통해서 데이터가 자바쪽으로 전달된다.
  • 영속성 컨텍스트에서 일어나는 모든 일들은 자동으로 처리된다.

JPA는 OOP의 관점에서 모델링을 할 수 있게 해준다. (상속, 콤포지션, 연관관계)

profile
오늘보단 내일이 강한 개발자입니다!!🧑🏻‍💻

0개의 댓글