JPQL 按用户 ID 分组并将其他列结果排列为 list/array

JPQL group by user id and make other column results arranged to a list/array

我有一个工作查询:

SELECT p.user.id, p.id FROM Photo p WHERE p.user.id IN ?1 GROUP BY p.user.id, p.id

这个returns数据像

2, 656
2, 767
2, 788
6, 986
6, 1364
etc...

但它想要这样:

2; 656,767,788
6; 986,1364...

因此对于每个用户,p.user.id,然后是 p.id 的列表。最好在格式化字符串中,以逗号分隔,因为它将作为 json.

发送
SELECT p.user.id, GROUP_CONCAT(p.id SEPARATOR ', ') from Photo p GROUP BY p.user.id;

或者如果你绝对想要分号

SELECT concat(p.user.id,';'), GROUP_CONCAT(p.id SEPARATOR ', ') from Photo p GROUP BY p.user.id;