Hibernate group-by クエリの一部としてオブジェクトのリストを選択する方法を理解しようとしています。私はそれをより難しい方法で行う方法を知っていますが、同じことを達成する特別なシュガー構文があるかどうかに興味があります.
基本的に、私はこの構造のクエリを持っています:
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 でアクセスするかはわかりません。