Mee*_*ers 6 java sql hibernate concatenation
我目前使用CriteriaBuilder获得hibernate的双重结果.
我有一个存储事件ID的表和一个存储多个具有ID到另一个表的值的连接表.例如;
事件
ID ....
---------
1123
1124
1125
Run Code Online (Sandbox Code Playgroud)
加入表
ID event_id tag_id
----------------------
1 1124 2
2 1124 3
3 1123 6
4 1123 7
Run Code Online (Sandbox Code Playgroud)
标签
ID tag
---------
1 Dance
2 Hiphop
...
Run Code Online (Sandbox Code Playgroud)
这显然会导致双重结果.例如.
eventID ... tag_id tag
--------------------
1124 2 Hiphop
1124 3 Dance
Run Code Online (Sandbox Code Playgroud)
是否可以在hibernate的CriteriaBuilder中获得这样的结果集;
eventID ... tag_id tag
--------------------
1124 2,3 Hiphop, Dance
Run Code Online (Sandbox Code Playgroud)
我在SQL服务器本身看到过多个解决方案,但我找不到使用hibernate的CriteriaBuilder.
小智 6
我不知道单独使用CriteriaBuilder的任何解决方案.有两种选择可行.这些表似乎是Event实体和TAG实体之间的多对多关系.
在Event实体中添加带有@Formula注释的两个字段.@Formula注释允许您在其中使用一些sql语句,并且可以使用当前实体的参数.在公式中,您可以使用一些SQL专有方法
当然,如果在Event对象上有Tag对象的集合,则可以在Java中执行此操作.可能你已经考虑过了