【发布时间】:2018-11-16 07:20:04
【问题描述】:
我有一个包含仪表板页面的项目。在该仪表板页面中,我必须显示:
- 统计图表
- 新信息
- 给管理员的新用户建议
- 新消息数
- 等
现在上面的每一个信息都与我数据库中的不同表相关。
我创建了不同的实体并且我正在使用休眠。假设 client-A 打开他的仪表板,我应该执行多个查询以收集所有这些实体的所有信息。以下是挑战:
- 由于每个请求在我的程序中一次在一个线程中运行,因此每个查询都必须完成,其他查询才能运行(不是同时)
- 我们不能一次创建多个查询并映射到休眠中的不同实体
- @Formula 注解不能映射整个实体,只能映射单个数据类型
我认为获得高效和快速输出的最佳方法是创建一个 Big Native 查询并使用单个查询一次获取所有数据但是如果我要这样做,我必须自己编写原生查询和映射所有内容,这使得使用 hibernate 的唯一性变得模糊。
我正在考虑的另一种方法是在我的应用程序中使用执行器服务和多线程
现在我的问题是,我仍然可以使用休眠映射并发出高性能查询的最佳方法是什么?
提前谢谢你
【问题讨论】:
-
您写了这篇文章已经付出了很大的努力,但最后只是征求意见,不适合本站。
-
@BheshGurung 这不是一个意见,我要求的是实现正确和适当应用程序的最佳方法。这完全是技术性的,你最好再读一遍这个问题
-
抱歉,当您说“什么是最好的方法”时,您只是在征求意见。
-
@BheshGurung 不是这样。如果你这么说,那么这个网站内不应该有任何设计模式问题。它们也是软件开发的最佳方法
-
可以有设计模式相关的问题。例如你可以问,“如何在 Java 中实现单例模式?”。然后五个不同的人将向您展示五种不同的实现方式。没关系。但你也可以问,“哪个实现最好?”这是不对的,因为您只是在询问为什么每个人都认为自己的版本是最好的。希望这是有道理的。
标签: java hibernate jakarta-ee hibernate-mapping query-performance