inflearn logo
강의

Course

Instructor

Real-world! Spring Boot and JPA Utilization 2 - API Development and Performance Optimization

default_batch_fetch_size 질문

Resolved

203

spahqhdl

2 asked

0

안녕하세요 강의를 들으며, 토이 프로젝트에 jpa를 적용해보려하는데 문제가 생겨 질문을 드리게 되었습니다.

 

default_batch_fetch_size를 사용하게 되면 @OneToMany관계를 가질 때 미리 지정된 개수만큼 join을 해서 가져오는 것으로 이해를 했습니다.

여기서 페이징 처리를 하고 싶은데, default_batch_fetch_size를 이용해 얻은 값에서 원하는 값만 조회를 하고 싶습니다.

 

현재 문제는 user와 tag(사용자가 관심있는 태그), post가 있을 때,

user와 tag가 N:M 관계,

tag와 post가 N:M 관계를 갖습니다.

각각을 1:N, N:1로 나타내기 위해 연결 테이블을 만들었습니다.

 

PostRepository에서 user가 관심있는 태그에 해당하는 게시물을 페이징으로 가져오고 싶은데 default_batch_fetch_size를 이용하면 직접 접근이 불가능할 것 같은데 이런 경우에는 어떻게 해결할 수 있을까요?

java spring spring-boot jpa

Answer 1

0

yh

안녕하세요. spahqhdl님

이 문제는 일반적인 sql의 join을 사용해서 해결해야 합니다.
JPQL도 sql의 join을 지원합니다.

먼저 JPQL(SQL)을 어떻게 작성해야 할지 고민해보시면 도움이 되실거에요.

그리고 상황에 따라 JPQL(SQL)을 여러번 나누어 실행해야 할 수 도 있습니다.

감사합니다.

2

spahqhdl

감사합니다. JPQL을 나누어 실행해서 가져오는 방법을 이용해 해결했습니다!

@JsonIgnore 이후 Internal Server Error가 발생하지 않습니다.

0

10

2

강의 관련 외 질문입니다.

0

85

2

SpringBoot4 + Hibernate7 모듈 등록 방법 공유

1

103

1

BeanCreationException

0

100

3

Update 후 UpdateMemberResponse 매핑할 때

0

60

1

트랜잭션을 사용 안 할 때 커넥션은 언제 가져오나요?

0

104

2

페이징 + 검색조건 관련해서 질문드립니다.

0

75

1

Query Dsl Q파일 질문입니다.

0

87

1

루트 쿼리라는것은

0

64

1

메서드를 분리하는 기준

0

73

1

findAllWithMemberDelivery 메서드 질문드립니다.

0

118

3

연관관계 매핑을 안 쓸 경우, 사용해야 하는 전략

0

94

2

fetch join과 영속화와 OSIV의 관계

0

94

2

Distinct 사용 전 결과에 대한 의문

0

121

2

레포지토리 계층에서의 트랜잭션에 대한 의문

0

63

1

영속성 컨텍스트 생명주기의 신기한 부분이 있습니다.

0

79

2

dto 필드 속 엔티티 여부

0

65

1

뷰템플릿 사용 시

0

83

2

Result 클래스 관련 질문

0

58

1

@PostConstruct 프록시 관련 질문드립니다

0

89

1

DTO 대신 Form 사용은 안되나요?

0

141

1

OSIV ON 상태일 때

0

101

1

fetch join VS fetch join 페이징 궁금증

0

191

2

양방향 연관관계 알아보는 법?

0

111

1