我很难生成一个对象,根据两个表格为我提供数据。
public class User {
private String name;
//...
}
public class Profile {
@JoinColumn(name = "user_id")
private User user;
}
我需要一个对象来告诉我每个用户个人资料的名称和数量。
像(在JSON中):
[
{"name":"John", "profiles":1 },
{"name":"Maria", "profiles":5 },
{"name":"Victor", "profiles":3 }
]
这样做的最佳解决方案是什么?
答案 0 :(得分:2)
首先,创建一个将用于生成Json的bean:
public class ABean {
private String name;
private Integer profiles;
// getters and setters here
}
然后,您的spring数据jpa查询将如下所示:
SELECT new ABean(p.user.name, count(p.id)) FROM Profile p JOIN p.user GROUP BY p.user.name