** 자기 공부용 및 암기용으로 포스팅하는 글 입니다.
** 정확한 정보는 보장 할 수 없으니, 참고용으로만 봐주시면 감사하겠습니다.
** 제 개인적인 생각 및 자기 암시목적으로 작성되기에 이점 양해 부탁드립니다.
들어가기에 앞서..
JPA는 java 진영에서 사용하는 ORM 기술 중 하나로 JDBC 이후에 출시한 ORM 기술이다.
영속성 컨텍스트 관련해서는 내용이 많기에 따로 포스팅 할 예정.
★ 알아볼 내용
1. JPA란?
2. Hibernate ORM
3. 영속성 컨텍스트( Persistence Context )란?
내용 설명
1. JPA란?
Java 진영에서 사용하는 ORM( Object-Relational Mapping) 기술의 표준 사양이다.
Java의 인터페이스로 사양이 정의되어 있기 때문에, JPA라는 표준 사양을 구현한 구현체는 따로 있다.
JPA는 데이터 엑세스 계층에서의 상단에 위치하고 있으며
데이터 저장, 조회등의 작업은 JPA를 거쳐 구현체인 Hibernate ORM을 통해서 이루어 진다.
2. Hibernate ORM
JPA 표준 사양을 구현한 구현체로는 Hibernate ORM, EclipseLink, DataNucleus 등 중 하나이며,
JPA에서 지원하는 기능 이외에 Hibernate 자체적으로 사용할 수 있는 API를 지원한다.\
참고용 문서 : Hibernate ORM API 문서
https://docs.jboss.org/hibernate/orm/6.0/javadocs/
3. 영속성 컨텍스트( Persistence Context )
JPA라는 용어에서 P의 정의는 Persistence이다.
영속성/지속성이라는 의미를 가지고 있으며 엔티티 객체 정보를 금방 사라지게 하지 않고 오래 지속되게 한다는 의미로 사용이 된다.
기본적으로 ORM은 객체(Object)와 데이터베이스 테이블의 매핑을 통하여 엔티티 클래스 객체 안에 포함된 정보를 테이블에다가 저장하는 기술이다.
JPA에서는 테이블과 매핑되는 엔티티 객체 정보를 영속성 컨텍스트(Persistence Context)라는 곳이 보관해서 애플리케이션 내에서 오래 지속되도록 한다.
이렇게 보관된 엔티티 정보는 데이터베이스 테이블에 데이터를 저장, 수정, 조회, 삭제하는데 사용하는데
잘 이해하지 못하고 사용하는 경우 데이터베이스에서 데이터를 저장/수정/조회/삭제 하려고 하였으나 영속선 컨텍스트에 남아 있어 제대로 처리가 안되는 현상이 발생 할 수 있다. 잘 이해하고 넘어가야 하는 부분이며, 이는 내용이 많기에
따로 포스팅을 남길 예정이다.
'Spring 지식 및 공부' 카테고리의 다른 글
[Spring] Spring JPA - 직렬화 순환 참조 @Jsonbackreference & @Jsonmanagedreference (0) | 2024.07.13 |
---|---|
[Spring] Spring JPA - 영속성 컨텍스트 ( Persistence Context ) (0) | 2024.07.11 |
[Spring] Spring MVC (0) | 2024.07.08 |
[Spring] 자주 사용하는 어노테이션(Annotation) 정리 (0) | 2024.07.06 |
[Spring] 아키텍처 ( Architecture ) (0) | 2024.07.04 |