본문 바로가기

Java/JPA43

[JPA_Basic] Proxy 이 글은 김영한의 [자바 ORM 표준 JPA 프로그래밍 - 기본편]을 수강하며 정리한 글입니다. 👉 기본 환경 - Language: Java - DB: H2 Database - IDE: IntelliJ ⭐ em.find();와 em.getReference(); em.find(): DB에서 실제 Enitty 객체 조회 em.getReference(): DB 조회를 미루는 Proxy Entity 객체 조회 ⭐ Proxy 객체 - 실제 클래스를 상속받아 만들어짐 - 프록시 객체는 실제 객체의 참조를 보관 - 프록시 객체 호출 시, 프록시 객체는 실제 객체의 메서드 호출 * Proxy 객체의 초기화: Proxy 객체의 Target Entity를 생성하는 과정 1. getName() 요청 2. Proxy 객체의 .. 2023. 9. 8.
[JPA_Basic] @MappedSuperclass 이 글은 김영한의 [자바 ORM 표준 JPA 프로그래밍 - 기본편]을 수강하며 정리한 글입니다. 👉 기본 환경 - Language: Java - DB: H2 Database - IDE: IntelliJ @MappedSuperclass - 주로 등록일, 수정일, 등록자, 수정자 같이 전체 엔티티에서 공통적으로 사용하는 정보를 모을 때 사용 📑 특징 - 상속관계 매핑 X - Entity가 아니므로, 테이블과 매핑되지 않음 ▶ 상속받는 자식 클래스에 매핑 정보만 제공 - 생성해서 사용할 일이 없으므로 abstract class로 사용 1. BaseEntity 생성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3.. 2023. 9. 5.
[JPA_Basic] 상속관계 매핑 이 글은 김영한의 [자바 ORM 표준 JPA 프로그래밍 - 기본편]을 수강하며 정리한 글입니다. 👉 기본 환경 - Language: Java - DB: H2 Database - IDE: IntelliJ ERD 1. JOINED 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import javax.persistence.*; @Entity @Inheritance(strategy = InheritanceType.JOINED) @DiscriminatorColumn public abstract class Item { @Id @GeneratedValue private Long id; private String name; private int price; } 🖨️ 실행 결과 1 2 3 4 5 6 7.. 2023. 8. 23.
[JPA_Basic] ERD를 기반으로 한 Entity 작성 이 글은 김영한의 [자바 ORM 표준 JPA 프로그래밍 - 기본편]을 수강하며 정리한 글입니다. 👉 기본 환경 - Language: Java - DB: H2 Database - IDE: IntelliJ ERD Member Entity 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; private String name; private String cit.. 2023. 8. 17.
[JPA_Basic] 다대다 매핑 이 글은 김영한의 [자바 ORM 표준 JPA 프로그래밍 - 기본편]을 수강하며 정리한 글입니다. 👉 기본 환경 - Language: Java - DB: H2 Database - IDE: IntelliJ 다대다 매핑 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; @Column(name = "USER_NAME") private String name; @Man.. 2023. 8. 16.
[JPA_Basic] 일대다 매핑 시, ArrayList를 사용하는 이유 이 글은 김영한의 [자바 ORM 표준 JPA 프로그래밍 - 기본편]을 수강하며 정리한 글입니다. 👉 기본 환경 - Language: Java - DB: H2 Database - IDE: IntelliJ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; private String name; private St.. 2023. 8. 15.