문제

따라서 내 JPA 쿼리가 다음과 같다 : P.SomeProperty의 PARTE PRECLEN ORDER로 가입 PECLEDREN 주문을 선택하십시오.

P.SomeProperty가 주문한 결과를 올바르게 얻습니다. 그러나 나는 내 쿼리가 "p.someproperty, p.children.somechildproperty"와 같은 내 쿼리를 원합니다. 따라서 각 상위 객체 내부에 채워진 컬렉션이 SomeChildProperty에 의해 하위 주문되었습니다.

이것은 실제로 이러한 호출을 위해 생성 된 SQL의 관점에서 생각할 때 직관적 인 것처럼 보이지만 계층 적 객체에 다시지도를하려고 할 때는 덜 생각합니다.

도움이 되었습니까?

해결책

순서를 보존하려면 사용하십시오 트리 셋. 부모 내부의 컬렉션의 정렬에 관한 한, 코드에서 사용하십시오. 비교기.

글쎄, 부모 엔티티 클래스에서 컬렉션 정의에서 이것을 시도하십시오. 나는 당신이 내 요점을 얻고 있기를 바랍니다.

이 JPA 주석을 사용할 수 있습니다.

@javax.persistence.OrderBy(value = "fieldName")

또는이 최대 절전 모드는

@org.hibernate.annotations.OrderBy(clause = "FIELD_NAME asc")

그리고 당신은 이것을 사용할 수 있습니다.

@org.hibernate.annotations.Sort(type = SortType.NATURAL)

또는

@org.hibernate.annotations.Sort(type = SortType.COMPARATOR)

비교기의 경우 비교기가 제자리에 있어야합니다. 다른 사람은 String Collections에서만 작동 할 수 있습니다.

다른 팁

Adeel은 기본적으로 이것을 못 박았습니다. 컬렉션에 동일한 엔티티가 두 번 이상 포함 된 경우 중요한 목록이있는 것을 사용할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top