Home
Youngho's Devlog
Cancel

[자바 ORM 표준 JPA 프로그래밍-기본편] JPQL 기본 문법과 쿼리 API

본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. JPQL(Java Persistence Query Language) - 기본 문법과 기능 JQPL 소개 JPQL은 객체지향 쿼리 언어다.따라서 테이블을 대상으로 쿼리하는 것이 아니라 엔티티 객체를 대상으로 쿼리한다. JPQL은 SQL을 추상화해서 특정데이터베이스 SQL...

[자바 ORM 표준 JPA 프로그래밍-기본편] 객체지향 쿼리(JPQL) 언어 소개

본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. 목차 객체지향 쿼리 언어 소개 JPQL 기본 문법과 기능 페치 조인 경로 표현식 다형성 쿼리 엔티티 직접 사용 Named 쿼리 벌크 연산 JPA는 다양한 쿼리 방법을 지원 JPQL JPA Criteria QueryDSL 네이티...

[자바 ORM 표준 JPA 프로그래밍-기본편] 실전 예제6 - 값 타입 매핑

본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. 실전 예제 - 6. 값 타입 매핑 equals() 와 hashCode() 메소드를 구현할 때 getter로 멤버변수에 접근하는게 좋다. 프록시도 안정적으로 접근할 수 있도록 @Embeddable public class Address...

[자바 ORM 표준 JPA 프로그래밍-기본편] 값 타입 컬렉션

본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. 값 타입 컬렉션은 값 타입을 컬렉션에 담아서 쓰는 것을 말한다. 문제는 DB에 넣을때가 문제가 된다. 기본적으로 값 타입 컬렉션을 DB에 넣는 구조를 지원하지 않는다. 결론적으로 이러한 컬렉션들을 별도의 테이블로 뽑아야한다. (FAVORITE_FOOD 테이블, ADDRESS 테이...

[자바 ORM 표준 JPA 프로그래밍-기본편] 값 타입의 비교

본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. 값 타입: 인스턴스가 달라도 그 안에 값이 같으면 같은 것으로 봐야 함 int a = 10; int b = 10; a == b ? => true! Address a = new Address(“서울시”) Address b = new Address(“서울시”) a ...

[자바 ORM 표준 JPA 프로그래밍-기본편] 값 타입과 불변 객체

본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. 값 타입은 복잡한 객체 세상을 조금이라도 단순화하려고 만든 개념이다. 따라서 값 타입은 단순하고 안전하게 다룰 수 있어야 한다. 값 타입 공유 참조 임베디드 타입 같은 값 타입을 여러 엔티티에서 공유하면 위험함 공유하려면 값 타입이 아닌 엔티티로 만들어...

[자바 ORM 표준 JPA 프로그래밍-기본편] 임베디드 타입

본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. 임베디드 타입(복합 값 타입) 새로운 값 타입을 직접 정의할 수 있음 JPA는 임베디드 타입(embedded type)이라 함 주로 기본 값 타입을 모아서 만들어서 복합 값 타입이라고도 함 int, String과 같은 값 타입 추적도 안되고 변...

[자바 ORM 표준 JPA 프로그래밍-기본편] 기본값 타입

본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. 목차 기본값 타입 임베디드 타입(복합 값 타입)(중요!) 값 타입과 불변 객체 값 타입의 비교 값 타입 컬렉션(중요!) 실전 예제 - 6. 값 타입 매핑 JPA의 데이터 타입 분류 엔티티 타입 @Entity로 정의하는 객체 ...

[자바 ORM 표준 JPA 프로그래밍-기본편] 실전 예제5 - 연관관계 관리

본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. 글로벌 페치 전략 설정 모든 연관관계를 지연 로딩으로 @ManyToOne, @OneToOne은 기본이 즉시 로딩이므로 지연로딩으로 변경 영속성 전이 설정 Order -> Delivery를 영속성 전이 ALL 설정 Order -> OrderItem을...

[자바 ORM 표준 JPA 프로그래밍-기본편] 영속성 전이: CASCADE

본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. 영속성 전이: CASCADE 특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속 상태로 만들도 싶을 때 예: 부모 엔티티를 저장할 때 자식 엔티티도 함께 저장. 영속성 전이: 저장 @OneToMany(mappedBy="p...