본문 바로가기
728x90

jpa2

[JPA] 값 타입 기본값 타입 JPA의 기본적인 데이터 타입 분류는 크게 두가지이다. (최상위 분류) 엔티티 타입 @Entity 어노테이션으로 정의하는 객체 데이터가 변해도 식별자를 이용해서 지속적으로 추적 가능 예) 회원 엔티티의 키나 이름 값을 변경해도 식별자로 인식 가능 값 타입 int, Integer, String 처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체를 의미 식별자 없고 값만 있어 변경시 추적이 불가능하다. 예) 숫자 100 → 200 변경하면, 완전히 다른 값으로 대체된 것 값 타입 분류 기본값 타입 자바 기본 타입 (int, double ...) Wrapper class (Integer, Double ...) String 임베디드 타입 (embedded type, 복합 값 타입) 컬렉션 값 타입.. 2023. 2. 18.
[JPA] 프록시 프록시 기능을 구현하는 과정에서 DB에서 가져오고 싶은 정보의 범위가 비지니스 로직에 따라 다르기 마련이다. 예를 들어 Member와 Team이라는 두 개의 entity가 연관관계 상에 있을 때, 구현 목적에 따라 두 개의 데이터가 한번에 조회되는 것이 좋을수도 있고, 그렇지 않을수도 있다. 이러한 상황을 JPA는 프록시와 지연로딩이라는 개념으로 기가막히게(?) 해결해준다고 한다. 먼저 프록시의 개념은 다음과 같다. 프록시 기초 em.find(): 앞서 살펴본 데이터베이스를 통해 실제 엔티티 객체를 조회하는 메서드 em.getReference(): 데이터베이스 조회를 미루는 가짜(프록시) 엔티티 객체를 조회하는 메서드 기존에 알던 EntityManager의 find method 말고, getReferen.. 2023. 2. 15.
728x90