1. 프록시란?JPA에서 연관된 엔티티를 지연 로딩하기 위해 사용되는 객체다.데이터베이스 접근을 지연시켜 성능을 최적화한다.필요한 시점까지 데이터 로딩을 미뤄서 메모리 사용량을 줄이고 불필요한 쿼리 실행을 방지한다. ⭐지연 로딩JPA에서 실제 엔티티 데이터가 필요할 때까지 데이터베이스에서 해당 데이터를 로드하지 않는 방식.이를 통해 불필요한 데이터베이스 접근을 줄여 성능을 최적화한다. 2. 프록시의 필요성양방향 연관 관계인 두 엔티티가 있다.Member와 Team이라고 하자. ✅Member와 Team 코드@Entity@Getter@Setterpublic class Member{ @Id @GeneratedValue @Column(name = "MEMBER_ID") private Lon..
1. @MappedSuperclass 언제 사용할까?여러 엔티티 클래스에서 공통으로 사용되는 필드를 하나의 상위 클래스에 정의하고 이를 상속받아 사용하고자 할 때. 만약, 엔티티를 모두 만들었는데 공통적인 필드들을 추가해야 한다면하나 하나 엔티티마다 이렇게 중복으로 작성을 해줘야한다.이런 작업을 하지 않도록 도와주는 애노테이션이 바로 @MappedSuperclass다.private String createdBy;private LocalDateTime createdDate;private String lastModifiedBy;private LocalDateTime lastModifiedDate;... 2. 코드 예시 ✔️공통 매핑정보를 갖는 상위 클래스(BaseEntity)와 이를 상속받는 Member 클..
1. 데이터베이스에 상속관계 표현하기 관계형 데이터베이스는 상속 관계 개념이 없다.Java 객체는 상속 관계 개념이 있다.부모 클래스는 독립적으로 인스턴스화 할 필요가 없다면, 추상클래스로 만드는게 일반적이다.관계형 데이터베이스에 상속 관계를 표현하기 위해 JPA는 세 가지 주요 전략을 제공한다. 1-1) 조인전략- ITEM_ID를 외래키로 하위 테이블에 INSERT를 할 때, ITEM과 하위 테이블에 두 번 INSERT를 한다.ITEM에 DTYPE으로 하위 테이블을 구분한다. 1-2) 단일 테이블 전략- 한 테이블에 컬럼을 다 때려박고 DTYPE으로 자식 엔티티를 구분하는 전략이다.- 조인할 필요가 없으므로 조회 성능이 빠르고 조회쿼리가 단순하다. 1-3) 구현 클래스마다 테이블 전략 - 상위테이블(슈..
1. 연관관계 매핑 시 고려사항 3가지- 다중성 - 단방향 vs 양방향 - 연관관계의 주인 2. 다양한 연관관계✔️다중성데이터베이스 관점에서 보면 됨 - 다대일(N:1) : @ManyToOne - 일대다(1:N) : @OneToMany - 일대일(1:1) : @OneToOne - 다대다(N:M) : @ManyToMany 실무에서 다대다는 쓰면 안됨. ✔️다대일 단방향(N:1) N쪽이 외래키를 가지고 있어야하고 외래키를 가지고 있는 쪽을 연관관계 주인으로 지정해줘야한다. ✔️일대다(1:N)1이 연관관계 주인이다.Q. 그동안 배웠던거랑 다른 내용이라 헷갈림 N쪽이 외래키를 가지고 있어야 설계상 맞는거고 외래키를 가지고 있는 쪽을 연관관계 주인으로 지정해주라했는데 왜 1이 연관관계 주인이 될 수 있는 거지? ..
1. 참가신청2024년 8월 2일 삼성 코엑스에서 열리는 인프런 행사 INFCON 2024!오늘 7월 3일부터 7월 8일까지 신청기간이에요. 참가 신청 알림을 등록해놓고 알림이 오자마자 신청했습니다. 참가자 선정 발표일 ➡️ 2024년 7월 11일 (목) 14:00 INFCON 2024 참가신청 | 인프런 - 인프런인프런 | IT인을 위한 축제, 인프콘에 초대합니다!, 📢 인프콘 2024 참가신청 안내 참가 신청 기간은 2024년 7월 3일 (수) 15:00 ~ 7월 8일 (월) 23:59 입니다. 참가자 선정 발표일은 2024년 7월 11일 (목) 14:www.inflearn.com참가신청은 위 링크에서 하면 됩니다. 인프런 강의 구매이력이 있으면 50%할인 쿠폰이 있으니 잊지말고 쿠폰 적용을 한 다음..
1. 단방향 연관관계 복습2024.06.13 - [인프런 김영한 강의 정리/자바 ORM 표준 JPA 프로그래밍 기본편] - JPA 기본 | 연관관계 매핑 기초 JPA 기본 | 연관관계 매핑 기초1. 객체를 테이블에 맞춰 데이터 중심으로 모델링 했을 때 이 방식으로 모델링을 하면 객체지향과 거리가 멀어진다. 왜 객체의 참조와 외래키를 매핑해야되는지 예시를 보며 이해해보자. Memberururuwave.tistory.com member와 team이 있다.member는 하나의 team에 소속될 수 있다. 단방향 연관관계 Member 엔티티에 @ManyToOne, @JoinColumn으로 Team을 매핑해줬다.@Entity@Getter@Setterpublic class Member { @Id @Gen..
7월 1일이다. 벌써 한 해의 반이 지났다. 새롭게 다시 시작하는 마음으로 달려봐야겠다. 7월은 뭔가 이뤄내는 달이 될거야. 양 손 깁스하는게 아닌 이상 나약한 변명은 그만하고 일단 시작해보는 거야! - 돌맹이는 벅찰 정도로 내게 큰 사랑을 준다. 세상에서 제일 싫어하는 귀청소, 발톱깎기, 미용, 스케일링까지 전부 다 내가 하는데도 나를 엄청 사랑해주는 돌맹이. 이 쪼끄만 생명체가 날 일으켜 세우다니..하찮고 사랑스럽잖아.. 고마워 사랑해 맹🦝🩶
1. 삶의 가치얼마 전, 발목을 다쳐 난생 처음 MRI를 찍게 되었다. 발목 MRI지만 30분동안 온몸을 꼼짝않고 가만히 누워있어야 했다. 없던 폐쇄공포증도 생길만큼 쿵쿵거리는 소음은 꽤 공포스러웠다. '이 소리는 EDM이다.' 최면을 걸면서 내적 리듬을 타다가 금세 지루해졌다. 그 뒤로 온전히 나에게 집중하여 명상을 할 수 있었다. 만약, 누군가가 "천만원을 줄테니 너의 남은 생을 가져가겠다" 하면 교환할 수 있을 까? 상상 속 경매장에 내 여생을 내놓아봤다. 천만원, 1억, 5억, 10억 그리고 100억까지 금액이 올라갔다. 천만원은 터무니 없다고 생각했고 100억은 좀 고민이 됐지만 액수가 중요한게 아니었다. 왜냐하면, 얼마를 주든 내 손에 쥐어지는 건 한 푼도 없으니까. 죽으면 끝이니까. 인생에 ..