Hibernate聚合+Spring MVC

3
我正在使用Hibernate来开发我的Spring MVC项目。
假设我的模型有两个对象,分别链接到Oracle表:`USERS(USERID,NAME)`和`USERMONEYDATA(CATEGORY,USERID,AMOUNT)`。
我的用户可以在`USERMONEYDATA`中添加、编辑和删除他们自己的行。
现在,我希望有一个视图来汇总这些数据。
使用Oracle,我创建了一个简单的视图来按用户和类别获取总金额:
select  userid, category, sum(amount)
from USERS a inner join USERMONEYDATA b on a.USERID = b.USERID
group by userid, category

但是最好的使用方式是什么?我应该为这个视图创建一个新的MODEL对象吗?

我应该直接在Hibernate中进行聚合吗?但如果是,如果我没有一个特定的POJO对象来映射它,我该如何显示结果?

谢谢。

1个回答

1

如果UserUserMoneyData被映射为Hibernate实体,在Hibernate中运行聚合查询是一个自然的选择。

默认情况下,HQL或JPQL带有多个路径的SELECT子句会生成Object[]形式的元组。由于这种数据是只读的,因此您可以直接显示这些数组,而无需将它们转换为对象。

另一种选择是创建一个POJO来表示查询结果,并使用构造函数语法SELECT NEW MoneyReport(u.userId, d.category, SUM(d.amount)) ...。这些POJO不需要成为实体。

另请参阅:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接