inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! 스프링 데이터 JPA

자식 컬렉션 Order by 질문 사항있습니다

해결된 질문

225

김준엽

작성한 질문수 9

0

안녕하세요 JPA 수강하면서 현업에

적용하고있는데 질문사항 있어 글을 남깁니다.

store -< events 1:N 관계에 있어

가게들중 이벤트를 최근에 생성한 가게들 우선순위로 가게 리스트를

보여주고 싶지만 이벤트랑 조인할 경우 이벤트들이 여러개가 나와

가게에 @OneToMany events 최근 생성된 데이터가 있을경우 가게를 위로 올리고싶은데

방법이 있을까요 ?

그리고 Store-< Events 에서 이벤트가 끝난 데이터들은 List 제외 시키고 싶은데

mapping 할때 조건을 넣어서 따로 걸러야 하는 부분인가요 ?

조건을 걸기위해 조인 하는순간 row수가 배가 되어

원하는 list값만 가지고 오기가 어렵네요 


위 내용과 상관없이 궁금사항 하나 더 남깁니다.

위경도 좌표 거리 기반으로 가게를 보여주고 싶으나

jpa에선 쉽지않아 nativeQuery(mysql 8.0) 로 작성 하여 interface로 매핑후 다시 dto로 가공 해서

반환값을 주는데 다른 방법이 있는지 궁금 합니다.

 

추가 질문사항입니다.

nativeQuery로 위경도 가까운 거리 계산 하여

리스트 생성하여 가게 인덱스에 담고 jpa findAllByIdx in :list 로

가게 관련 정보를 추출하였으나 자동 정렬되어 가까운 거리 순으로 리스트가 안만들어지는데

이럴때는 jdbc로 구현해야 하나요 ?? 페이징 처리까지 하려니 가급적이면 jpa를 쓰려고하는데

자동정렬 해제-> in 절 순서대로 넣은값으로 출력이 안되나요 ?

조언 부탁드립니다.

 

감사합니다.

spring java spring-boot JPA

답변 1

1

김영한

안녕하세요. 김준엽님

1. 가게에 @OneToMany events 최근 생성된 데이터가 있을경우 가게를 위로 올리고싶은데 방법이 있을까요 ?

-> 조인하고 정렬한 다음 select에서 조회 대상을 가게 엔티티만 선택해주세요. 추가로 distinct도 적용해주세요. 이 방법이 안되면 JPQL + DTO 조회를 사용하셔야 합니다.

2. 그리고 Store-< Events 에서 이벤트가 끝난 데이터들은 List 제외 시키고 싶은데 mapping 할때 조건을 넣어서 따로 걸러야 하는 부분인가요?

-> 애플리케이션에서 제외하거나, 또는 JPQL로 적절한 쿼리를 만들고 조회해서 DTO로 반환받아야 합니다.

3. 위경도: 표준 SQL이 아니어서 네이티브 쿼리를 사용하시길 바랍니다.

감사합니다.

0

김준엽

1.조인하고 정렬한 다음 select에서 조회 대상을 가게 엔티티만 선택해주세요. 추가로 distinct도 적용해주세요. 이 방법이 안되면 JPQL + DTO 조회를 사용하셔야 합니다.

-> 위 방법으로 해결 하였습니다.

2. 애플리케이션에서 제외하거나, 또는 JPQL로 적절한 쿼리를 만들고 조회해서 DTO로 반환받아야 합니다.

-> 3번 네이티브쿼리로 사용하여 jpql을 사용 못하였습니다 해서 dto 매핑할때 애플리케이션에서 제외 하였습니다 .

구글링 검색하였을때 jdbc템플릿으로 객체 안에 객체 리스트를 담지 못하여 추후에 myBatis로 매핑하여 필요한 데이터만 뽑아야 할거 같네요.

일단 데이터 다 긁어 오는게 리소스적으로 문제인거 같지만 데이터가 많지않아 문제가 되지 않을거라 판단 됩니다.

3. 위경도: 표준 SQL이 아니어서 네이티브 쿼리를 사용하시길 바랍니다.

-> 다른방법이 있나 고민하였는데 감사합니다.

changeTeam 메서드 질문

0

35

1

existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?

0

88

1

existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?

0

129

3

MemberRepository 구현체

0

73

1

pdf 표현 질문드립니다.

0

78

1

로그가 남지 않는 문제.

0

100

1

테스트 라이브러리가 강의는 junit4가 맞나요??

0

80

2

pdf 파일과 차이점이 있는 것같은데 문제 없나요?

0

77

2

@PrePersist, @PreUpdate 호출 시점 질문드립니다.

0

104

2

Sort 인터페이스는 잘 사용 안하나요?

0

61

1

스캔대상 질문드립니다.

0

50

1

하이버네이트6에서의 최적화에 이은 질문

0

92

1

save() vs saveAndFlush DB 통신 횟수

0

61

1

순수 JPA 리포지토리 코드 수정부분

0

93

2

bulk연산 후 flush하는 이유를 모르겠어요

0

164

3

bulk insert 질문입니다.

0

191

2

교만했던 것 같아요.

0

152

1

RESTful 강의는 안하시는 건지 궁금합니다.

0

154

2

동적 테이블에 대한 질문

0

90

1

영속성 전이와 연관관계

0

142

2

강의 10:25 질문

0

80

1

단건 update 질문

0

104

2

엔티티 와 도메인의 경계

0

132

1

UsernameOnlyDto 타입 type mismatch 오류

0

123

1