JPA (38) 썸네일형 리스트형 [JPA 사용법] @MappedSuperclass 보호되어 있는 글입니다. [JPA 사용법] 상속관계 매핑 보호되어 있는 글입니다. [JPA 사용법] 연관관계 매핑 보호되어 있는 글입니다. [JPA 사용법] 엔티티 매핑 보호되어 있는 글입니다. [JPA 사용법] 영속성 컨텍스트 보호되어 있는 글입니다. [JPA] 경로 표현식 목차경로 표현식 경로 표현식 (점)을 찍어 객체 그래프를 탐색하는 것select m.username -> 상태 필드 from Member m join m.team t -> 단일 값 연관 필드 join m.orders o -> 컬렉션 값 연관 필드where t.name = '팀A' 경로 표현식 용어 정리상태 필드(state field): 단순히 값을 저장하기 위한 필드(ex: m.username)연관 필드(association field): 연관관계를 위한 필드단일 값 연관 필드: @ManyToOne, @OneToOne, 대상이 엔티티(ex: m.team)컬렉션 값 연관 필드: @OneToMany, @ManyToMany, 대상이 컬렉션(ex: m.orders) 경로 표현식 특징상태 .. [JPA] JQPL 기본 문법 목차객체지향 쿼리 언어 소개JPQL기본 문법과 기능 객체지향 쿼리 언어 소개특정 조건으로 데이터를 조회할려면 SQL이 실행되어야 한다. JPA는 다양한 쿼리 방법을 지원JPQL (표준 문법)JPA CriteriaQueryDSL 네이티브 SQL(종속적인 쿼리)JDBC API 직접 사용, MyBatis, SpringJdbcTemplate 함께 사용 JPQL 소개가장 단순한 조회 방법EntityManager.find()객체 그래프 탐색(a.getB().getC())나이가 18살 이상인 회원을 모두 검색하고 싶다면? JPQLJPA를 사용하면 엔티티 객체를 중심으로 개발문제는 검색 쿼리검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로 검색모든 DB 데이터를 객체로 변환해서 검색하는 것은 불가능애플리케이션이 필.. [JPA] 값 타입 목차기본값 타입임베디드 타입(복합 값 타입) 값 타입과 불변 객체값 타입의 비교값 타입 컬렉션 JPA의 데이터 타입 분류 JPA는 데이터 타입을 최상위 레벨로 보면 2가지로 분류할 수 있다. 엔티티 타입@Entity로 정의하는 객체 데이터가 변해도 식별자로 지속해서 추적 가능예) 회원 엔티티의 키나 나이 값을 변경해도 식별자로 인식 가능 값 타입int, Integer, String처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체식별자가 없고 값만 있으므로 변경시 추적 불가예) 숫자 100을 200으로 변경하면 완전히 다른 값으로 대체 값 타입 분류값 타입에는 3가지로 분류할 수 있다.기본값 타입 자바 기본 타입(int, double) 래퍼 클래스(Integer, Long) String 임베디드 .. [JPA] 프록시와 연관관계 관리 목차프록시즉시 로딩과 지연 로딩지연 로딩 활용영속성 전이: CASCADE고아 객체: orphanRemoval영속성 전이 + 고아 객체, 생명주기 프록시Member를 조회할 때 Team도 함께 조회해야 할까?Member를 조회할 때 Team도 데이터베이스에서 함께 조회해야 할까?// 회원과 팀 함께 출력public void printUserAndTeam(String memberId) { Member member = em.find(Member.class, memberId); Team team = member.getTeam(); System.out.println("회원 이름: " + member.getUsername()); System.out.println("소속팀: " + team.g.. [JPA] 상속관계 매핑 목차상속관계 매핑조인 전략단일 테이블 전략구현 클래스마다 테이블 전략@MappedSuperclass 상속관계 매핑관계형 데이터베이스는 상속 관계 X 슈퍼타입 서브타입 관계라는 모델링 기법이 객체 상속과 유사 상속관계 매핑: 객체의 상속과 구조와 DB의 슈퍼타입 서브타입 관계를 매핑 슈퍼타입 서브타입 논리 모델을 실제 물리 모델로 구현하는 방법각각 테이블로 변환 => 조인 전략 통합 테이블로 변환 => 단일 테이블 전략 서브타입 테이블로 변환 => 구현 클래스마다 테이블 전략 주요 어노테이션@Inheritance(strategy=InheritanceType.XXX) JOINED: 조인 전략 SINGLE_TABLE: 단일 테이블 전략 TABLE_PER_CLASS: 구현 클래스마다 테이블 전략 @D.. 이전 1 2 3 4 다음 목록 더보기