본문 바로가기

BackEnd/Spring Data JPA6

영속성 컨텍스트(Persistence Context) 영속성 컨텍스트란? JPA를 이해하는데 가장 중요한 용어는 영속성 컨텍스트(Persistence Context) 입니다. 우리말호 번역하기는 어렵지만 해석하자면 엔티티를 영구 저장하는 환경이라는 뜻 입니다. 엔티티 매니저로 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리합니다. 1. 엔티티의 생명주기 엔티티에는 4가지 상태가 존재합니다. 비영속(new/transient): 영속성 컨텍스트와 전혀 관계가 없는 상태 영속(managed): 영속성 컨텍스트에 저장된 상태 준영속(detached): 영속성 컨텍스트에 저장되었다가 분리된 상태 삭제(removed): 삭제된 상태 1). 비영속 엔티티 객체를 생성했다. 지금은 순수한 객체 상태이며 아직 저장하지 않았다. 따라서 .. 2022. 5. 18.
JPA(Java Persistence) JPA란 무엇인가? JPA(Java Persistence) 자바 진영의 ORM 기술 표준입니다. 애플리케이션과 JDBC사이에서 동작합니다. ORM 이란 ? ORM(Object-Relation Mapping) 은 이름 그대로 객체와 관계형 데이터 베이스를 매핑한다는 뜻입니다. ORM 프레임워크는 객체와 테이블을 매핑해서 패러다임의 불일치 문제를 개발자가 대신 해결해줍니다. 1. JPA를 사용하는 이유 생산성 : JPA를 사용하면 자바가 컬렉션에 객체를 저장하듯이 JPA 에게 저장할 객체를 전달하면 됩니다. 즉 쉽게 말해서 개발 자들이 MyBatis에서 반복적인 CRUD 동적쿼리를 작성하기때문에 지루하고 불필요한 현상때문에 JPA에서 제공하는 Repository 인터페이스에서 CRUD메소드를 제공해주면 개발.. 2022. 5. 17.