컬렉션 엔티티 Lazy 초기화 질문드립니다.
안녕하세요. 서비스에서 select 해온 Entity에 toMany 연관관계 필드를 초기화 하는 부분에 대해 궁금해 질문드립니다.
class AEntity{
@Id
private Long id;
@OneToMany(mappedBy=aEntity)
private List<BEntity> bEntitise = new ArrayList<>():
}class BEntity{
@Id
private Long id;
@ManyToOne(fetch = FetchType.Lazy)
@JoinColumn(name="a_id")
private AEntity aEntity;
}이렇게 서로 양방향인 엔티티가 있다고 했을 때
class AService{
public AEntity findEntity(Long id){
AEntity findEntity = aRepository.findById(id).get();
//findEntity의 BEntityList를 lazy 초기화 하기 위한 코드
findEntity.getBEntities().size();
return findEntity;
}
}서비스에서 엔티티를 찾아 컨트롤러로 리턴해주어 컨트롤러에서 dto로 변환 후, Body에 담아 보여주고 있습니다.
그런데 findEntity의 BEntities 필드를 서비스에서 초기화 시켜준 후 컨트롤러에서 DTO로 변환해야 LazyInitializationException이 발생하지 않아서 findEntity.getBEntities().size();이렇게 초기화를 해주는 코드를 작성하였는데
해당 코드가 뜬금없이 들어가 있는 느낌이라 보통 컬렉션 Lazy 엔티티를 초기화할 때 저렇게 사용해도 되는지 궁금해서 질문드립니다.(fetch 조인은 사용하지 않는다는 가정입니다.)
답변 1
SpringBoot 4.X에서의 Querydsl 설정
0
109
2
querydsl 오픈소스에 대한 질문
1
84
1
예제에서의 카운트 쿼리에서 join문과 where문은 필요없지 않나요?
0
116
1
Querydsl 6.X버전에 대해서 어떻게 생각하시나요?
0
329
2
여러 테이블 조인하여 통계치를 구하고자 할 때 어떤 방법이 더 효율적일까요
1
73
1
fetchResults()는 더이상 권장되지 않는다는데 맞나요?
0
164
1
querydsl sum() 메서드 없어요.
0
163
2
build 디렉터리 생성
0
142
2
자바 ORM 표준 JPA 프로그래밍 - 기본편 듣고 바로 학습해도 괜찮을까요?
0
116
2
현재 Querydsl에서 from절 서브쿼리를 지원하나요?
0
95
1
오타 제보 드립니다.
0
74
2
벌크 연산과 flush, clear
0
78
1
Run As Intellij 로 변경시 Q타입 import 불가
0
90
1
QHello import하기 문제 발생
0
150
2
등록된 함수 보는법(H2Dialect) 질문
0
71
2
5.0부터 Querydsl은 향후 fetchCount() , fetchResult() 를 지원하지 않기로 결정했다고 하는데 이에 맞는 강의
1
201
2
[환경설정 PDF 부트 3.0이후 설명 질문] build.gradle에 compileQuerydsl을 정의하지 않은 상태에서 Gradle->Tasks->other->compileQuerydsl을 클릭하라고 하는 이유가 무엇인가요??
1
204
1
querydsl 설정 문제
0
223
2
quey dsl 설정부분
0
159
2
count 쿼리 관련 질문입니다!
0
75
1
stringtemplate를 이용하여 where절 검색 방법 질문 드립니다.
0
90
1
답변부탁드리겠습니다.
0
92
2
(OrderSpecifier)관련 내용 어디있을가요
0
67
1
중급문법 벌크연산에서
0
84
2





