2012-07-03 2 views
0

안녕하세요, 내가 어떻게 할 수있는 가장 새로운 하위 개체에 의해 주문 별개의 개체를 선택해야합니까? 내가는 하위 객체에서 부모 개체를 선택하려고 :hql 고유 순서

SELECT DISTINCT r.forumTheme FROM ForumResponse r ORDER BY r.responseId DESC 

를 내가 얻을

ORDER BY items must appear in the select list if SELECT DISTINCT is specified. 

을 그리고 난이하려고하면

SELECT DISTINCT r.forumTheme,r.responseId FROM ForumResponse r ORDER BY r.responseId DESC 

결과 밤은 정말 별개을 : forumTheme은 수 다른 응답 ID가있는 다중 시간 표시

어떤 해결책이 있습니까?

답변

1

주어진 forumTheme에 대해 여러 개의 responseIds가 있습니다. 그럼 어떻게 분류해야합니까? 이 [5, 4, 2]보다 크거나 작습니까?

이렇게하면 주문할 수 없습니다.

select r.forumTheme, max(r.responseId) from ForumResponse r 
group by r.forumTheme 
order by max(r.responseId) 
+0

이이 결합 된 라인을 만들 responseId에 의해 그들을 주문하고 중복 forumTehmes를 죽일해야합니다

당신은 아마 다음과 같은 쿼리를 실행해야합니다. 내가 당신의 솔루션을 시도하면 "오류 : 열»forumtheme1_.themenid«GROUP-BY에 있어야합니다"라는 메시지가 나타납니다. – wutzebaer

+0

forumTheme은 연결된 엔티티가 아닌 간단한 열이라고 생각했습니다. 이 Hibernate 버그의 해결 방법은 https://hibernate.onjira.com/browse/HHH-1615?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_29485를 참조하십시오. –

+0

적어도 지금은 아무것도 놓친 적이 없다는 것을 알았습니다. – wutzebaer