Hibernate和MSSQL实体:如何正确映射汇总结果

时间:2019-03-24 08:22:54

标签: sql-server spring hibernate spring-boot

绘制上下文:

我正在重构具有性能问题的该应用程序,因为它具有很多汇总值。目前,结果已实现为列(https://docs.microsoft.com/en-us/sql/relational-databases/tables/specify-computed-columns-in-a-table?view=sql-server-2017)内的计算值。乍一看听起来不错,但是如果滥用它,会对性能产生巨大影响(这种情况)。

问题:

我希望在我的应用程序中汇总结果,但是我没有找到正确的方法。目前,我已经对该实体进行了优化查询,但是问题是我必须重写所有内容,并且会丢失延迟加载(以及其他标准功能)。因为当前我已将此查询映射到虚拟实体上以在屏幕上显示它,但由于我没有任何可用的关系等原因,这限制了我。

因此,理想情况下,应该有一种方法可以使我的实体以休眠方式使用,并且仍然具有优化查询的性能。或者,我可以覆盖存储库的默认行为,以始终使用此查询从数据库中获取它。问题当然是可能吗?

编辑:我知道@Formula批注的存在,但这仅意味着我们将查询逻辑从计算列移到了休眠状态,并且他触发了子查询(所以我猜是无法解决问题)

0 个答案:

没有答案