JPA

· JPA
9장_값 타입 JPA의 데이터 타입을 크게 두 가지로 나누면 엔티티 타입과 값 타입이 있다. 엔티티 타입은 @Entity로 정의하는 객체고, 값 타입의 경우 자바 기본 자료형부터 객체까지 가능하다. 엔티티 타입의 경우는 식별자로 구분되기 때문에 식별자 값만 변하지 않는다면 같은 엔티티로 인식된다. 하지만 값 타입은 식별자가 없기 때문에 값이 달라지면 완전히 다른 값으로 대체된다. 값 타입은 세 가지로 나눌 수 있다. 자바 기본형 임베디드 타입 컬렉션 타입 임베디드 타입은 JPA에서 사용자가 지정한 값 타입이고 컬렉션 타입은 하나 이상의 값 타입을 저장할 때 사용한다. 기본 값 타입 기본 값 타입은 엔티티에 의존한다. 엔티티가 사라지면 값 타입 역시 소멸된다. 또한, 값 타입은 절대 공유되지 않는다. 임베..
· JPA
8장_프록시와 연관관계 관리 비즈니스 로직에 따라 객체 그래프를 탐색할 수도 있고 그렇지 않을 수도 있다. 그렇기 때문에 처음부터 모든 데이터를 조회해서 저장해 놓는 것은 비효율적이다. 이런 문제를 해결하기 위해 JPA는 지연로딩을 지원한다. 지연로딩은 실제 객체를 사용할 때 조회를 하는 것을 의미한다. 그리고 이런 지연 로딩을 위해서는 실제 엔티티 대신 데이터베이스 조회를 지연시킬 수 있는 가짜 객체를 등록해 사용하는데 이를 프록시 객체라고 한다. 프록시 기초 EntityManager.find() 메소드는 하나의 엔티티를 데이터베이스에서 조회하는 메소드로 객체를 사용하든 사용하지 않든 데이터베이스에서 조회하게 된다. 객체를 사용 시점까지 데이터베이스에서 조회를 미루고 싶다면 EntityManager.g..
greatwhite
'JPA' 카테고리의 글 목록 (2 Page)