개발 일지/Java

[Java] JPA

미숫가루설탕많이 2023. 2. 23. 12:07

 JPA(Java Persistence API)는 자바에서 ORM(Object-Relational Mapping) 기술을 구현하기 위한 API이다.

 

 JPA를 통해 객체지향적인 방식으로 데이터베이스와 상호작용할 수 있으며, 코드의 유지보수성을 높이고 생산성을 향상하는 데 큰 도움이 된다.

 

 JPA 표준 사양을 구현한 구현체는 Hibernate ORM, EclipseLink, DataNucleus 등이 있다.

 

 

 

 

 

영속성 컨텍스트(Persistence Context)

 

 JPA에서 P는 Persistence로 영속성, 지속성이라는 뜻을 가지고 있다. 즉, 무언가를 오래 지속되게 하는 것이 Persistence의 목적이다.

 

 ORM은 객체와 데이터베이스 테이블의 매핑을 통해 엔티티 클래스 객체 안에 포함된 정보를 테이블에 저장하는 기술이다.

 

 여기서 Persistence의 의미를 찾아볼 수 있는데, JPA에서는 테이블과 매핑되는 엔티티 객체 정보를 영속성 컨텍스트라는 곳에 보관해서 애플리케이션 내에서 오래 지속되도록 한다.

 

 그리고 이렇게 보관된 엔티티 정보는 데이터베이스 테이블에 데이터를 저장, 수정, 조회, 삭제하는 등 상호작용하는데 사용된다.

 

 영속성 컨텍스트 관련 JPA API는 다음과 같다.

  • .persist()
    : 엔티티 객체를 영속성 컨텍스트에 저장

  • .remove()
    : 엔티티 객체를 영속성 컨텍스트에서 제거

  • .commit()
    : .flush() 호출

  • .flush()
    : 영속성 컨텍스트의 변경 내용을 데이터베이스에 반영

'개발 일지 > Java' 카테고리의 다른 글

BufferedReader close() 사용 이유에 대해  (0) 2023.05.31
[Java] @NotNull / @NotEmpty / @NotBlank  (0) 2023.04.18
[Java] JDBC  (0) 2023.02.20
[Java] 자바 가상머신(JVM)  (0) 2023.01.10
[Java] 스레드(thread)  (0) 2023.01.10