일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- K8s
- centos7
- cd
- Entity
- Kotlin
- mysql
- spring
- topic생성
- JPA
- entity graph
- ECS
- consumer
- CI
- bean
- kafka
- offsetdatetime
- QueryDSL
- mirror maker2
- Kubernetes
- producer
- spring kafka
- PAGING
- AWS
- CodePipeline
- git
- Spring Data JPA
- Spring JPA
- Streams
- API
- transactionaleventlistener
- Today
- Total
목록Spring JPA (2)
Yebali

JPA는 일반적으로 @OneToOne에 지연 로딩을 지원하지 않는다. JPA는 객체의 참조가 프록시 기반으로 동작한다. 즉 연관 관계가 있는 객체는 참조할 때 기본적으로 Null이 아닌 객체를 반환한다. 1:1 관계에서는 Null이 허용되는 경우 프록시 형태로 Null 객체를 반환할 수 없기 때문이다. (= Nullable한 엔티티에 대해 프록시 객체 생성을 보장할 수 없다) 그런 이유로 JPA구현체는 1:1 관계에서 지연 로딩을 허용하지 않고, 값을 즉시(Eager) 읽어드린다. 그럼 1:N은? 1:N 관계는 이미 배열의 형태로 참조할 프록시 객체를 싸고 있기 때문에 그 객체가 Null이라도 참조할 때는 문제가 되지 않는다. 지연 로딩이 되지 않는게 문제가 되나요..? 된다. 이런 제약사항을 염두하지 ..

java Reflection 위의 이유를 알기 위해서는 먼저 java Reflection를 알아야 한다. java Reflection이란? 구체적인 클래스 타입을 알지 못해도, 그 클래스의 메서드, 타입 변수들에 접근할 수 있도록 해주는 API 예를 들어 다음과 같은 Music 클래스가 있을 때 public class Music { private String singer; private String title; public Music(String singer, String title) { this.singer = singer; this.title = title; } public Music(){ } public String getTitle() { return title; } public String get..