我想弄清楚如何選擇一個對象列表作爲Hibernate group-by查詢的一部分。我知道如何做到這一點,但我很好奇,如果有一些特殊的糖語法達到同樣的事情。如何通過查詢選擇對象列表作爲Hibernate組的構造函數參數的一部分
基本上,我有這個結構的查詢:
select com.myapp.domain.TagSummary(
tag.id, tag.term, tag.description, tag.synonyms, count(user)
)
from User user
join user.tags tag
我想給tag.synonyms
存儲爲List<Tag>
。這是可能的,還是我需要查詢交叉產品並在查詢結果返回後手動執行分離?
或者,我最終想要的是用逗號分隔的同義詞詞表。所以如果一個標籤是spring
,它的同義詞是spring-framework
和spring-framework-3.1
,那麼將字符串spring-framework, spring-framework-3.1
放到構造函數中會很好。那可能嗎?
編輯:我已經瞭解到我可以使用group_concat()來實現功能的後半部分,但它只能在MySQL中使用。有沒有辦法讓它在hsqldb中可用?在Spring 3.1中,如何將此函數添加到Hibernate中?我知道我應該打電話給Configuration
,但我不知道用什麼bean來訪問它。