JPA

1. 프록시가 필요한 이유 엔티티를 조회할 때 연관관계를 맺고 있는 다른 엔티티도 같이 조회한다. 연관된 엔티티가 항상 필요하지 않을 수도 있기 때문에 불필요한 데이터 조회가 발생하게 된다. 그렇기에 실제 사용하는 시점에 데이터베이스를 조회할 수 있게 해야하는데 이 때 프록시를 사용하면 된다. 실제 사용될 때까지 DB 조회를 지연시킬 수 있도록 실제 엔티티 대신할 가짜 객체가 필요한데 이를 프록시 객체라고 한다. 2. 프록시 객체 JPA에서 식별자로 엔티티를 조회할 때 'EntityManager.find()'를 사용한다. 이 메소드는 영속성 컨텍스트 내 1차캐시에 엔티티가 없을 경우 DB 조회하여 저장하게 된다. 만약 엔티티를 실제 사용하는 시점까지 DB조회를 지연시키고 싶으면 EntityManger...
1.영속성 컨텍스트란? 먼저 엔티티(Entity)의 의미를 먼저 간단하게 알고 넘어가면 엔티티는 다음과 같다. '업무에 필요하고 유용한 정보를 저장, 관리하기 위한 개념'으로, 실체, 객체라는 의미이다. 예) 엔티티-직원 / 속성- 주소, 사번, 휴대전화번호 등등 영속성 컨텍스트(Persistence context)는 '엔티티를 영구히 저장하는 환경' 이라는 의미를 가집니다. 어플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 DB 같은 역할을 하게된다. 영속성 컨텍스트는 엔티티 매니저를 생성할 때 만들어지며 엔티티 매너저를 통해 접근 관리된다. 2. 엔티티 매니저란? 엔티티를 영속성 컨텍스트에 저장, 보관 등의 관리를 하는 역할을 한다. 엔티티 매니저에 엔티티를 저장하거나 조회하게 되면 엔티티 ..
1. JPA(Java Persistence API) 자바 진영의 ORM 기술 표준으로, 인터페이스 모음이다. 인터페이스이기에 구현체가 없고 사용하기 위해서는 ORM 프렘임워크를 선택해야 한다. (Hibernate, OpenJPA) 자바 진영의 ORM 기술 표준으로, 인터페이스 모음 JPA는 어플리케이션과 JDBC 사이에서 동작하는데 JPA 내부에서 JDBC API를 이용하여 DB와 통신을 하게 된다. JPA 특징 SQL 중심에서 객체 중심으로 개발하면서 패러다임의 불일치를 해결 생상성 & 유지보수에 뛰어남 DBMS에 종속적이지 않음 2. Spring Data JPA JPA를 더욱 편하게 사용하기 위해 만들어진 모듈이다. Spring Data JPA는 반복되는 CRUD 문제를 더욱 편리한 방법으로 해결할 ..
야뤼송
'JPA' 태그의 글 목록