在hibernate从DB检索数据后计算值

时间:2015-04-20 20:46:31

标签: java hibernate

我们正在学校使用hibernate,我们正在实施贷款。 我们有一个持久的贷款类,根据贷款信息(付款金额,到期金额等),应用程序应计算特定贷款的全部付款报价。

所以我们有一个Quote类,其中包含有关该引用的信息,Loan类包含所有引号的列表(类之间的组合)。

由于报价信息是可计算的,我认为它不应该在DB上。

我的问题具体是,当我从数据库中调出贷款时,如何让Hibernate计算并填充引号列表。

澄清: Loan类有一个计算和填充它的引号列表的方法,当hibernate从数据库中检索它时,我无法弄清楚它的运行方式。

更新:由于我们有一个数据层(贷款类所在的位置)和业务层(您实际处理数据,然后调用DAO层),我已添加在从数据库返回对象之前调用业务层中的方法。这是最佳做法吗? 结束更新

谢谢,

1 个答案:

答案 0 :(得分:0)

  1. 仅仅因为某些数据是可计算的,它并不意味着它不应该存储在数据库中。事实上,冗余通常用于改善系统的性能。此外,非规范化数据对于报表,统计数据和商业智能工具非常有用。
  2. 将Quote的计算放在业务层中可能是一个不错的选择,但这取决于应用程序的上下文。引用数据仅用于更改系统状态,还是在报告中使用?您是否期望数据库中包含大量数据?您是否需要所有贷款的所有行情统计数据?它是您的应用服务导向?它有外部报告引擎吗?如果这些问题中的任何一个都是肯定的答案,那么您应该考虑将计算出的数据存储在数据库中