【问题标题】:Hibernate aggregates + Spring MVCHibernate 聚合 + Spring MVC
【发布时间】:2010-10-27 08:40:34
【问题描述】:

我在 Spring MVC 项目中使用 Hibernate。

假设我的模型有 2 个对象,每个对象都链接到 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

但是最好的使用方法是什么?我应该专门为此视图创建一个新的模型对象吗?

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

谢谢

【问题讨论】:

    标签: java hibernate spring spring-mvc


    【解决方案1】:

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

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

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

    另请参阅:

    【讨论】:

      猜你喜欢
      • 2014-03-05
      • 1970-01-01
      • 2014-08-05
      • 2016-03-31
      • 2012-12-05
      • 2018-04-21
      • 1970-01-01
      • 1970-01-01
      • 2018-04-05
      相关资源
      最近更新 更多