目前,我正在使用CriteriaBuilder使用hibernate获得双重结果。
我有一个存储事件ID的表和一个join表,它存储有一个ID到另一个表的多个值。例如;
事件
ID ....
---------
1123
1124
1125连接表
ID event_id tag_id
----------------------
1 1124 2
2 1124 3
3 1123 6
4 1123 7标签
ID tag
---------
1 Dance
2 Hiphop
...这显然会导致双重结果。例如:
eventID ... tag_id tag
--------------------
1124 2 Hiphop
1124 3 Dance是否可以在hibernate的CriteriaBuilder中获得这样的结果集;
eventID ... tag_id tag
--------------------
1124 2,3 Hiphop, Dance我在server内部看到了多个解决方案,但我无法找到使用hibernate的CriteriaBuilder的解决方案。
发布于 2016-07-10 19:45:52
我不知道任何单独使用CriteriaBuilder的解决方案。两种可能有效的选择。这些表似乎是事件实体和标记实体之间的多到多关系。
发布于 2017-08-30 17:27:49
如果使用Oracle,就会有LISTAGG函数。在这里与“:”连用:
例如:
(SELECT LISTAGG(b.DESCRIPTION, '::') WITHIN GROUP ( ORDER BY b.id) FROM TABLE_T)这将是一个原生SQL查询。
https://stackoverflow.com/questions/38181626
复制相似问题