Hibernate 多个 Table 查询性能

Hibernate Multiple Table Query Performance

我有一个包含仪表板页面的项目。在该仪表板页面中,我必须显示:

  1. 统计图表
  2. 新信息
  3. 给管理员的新用户建议
  4. 新消息数

现在以上每个信息都与我数据库中的不同表相关。

我创建了不同的实体并且我正在使用休眠。假设 client-A 打开他的仪表板,我应该执行多个查询以收集来自所有这些实体的所有信息。以下是挑战:

  1. 由于每个请求 运行 在我的程序中一次在一个线程中,每个查询必须完成另一个查询 运行(不是同时)
  2. 我们不能一次创建多个查询并映射到休眠中的不同实体
  3. @Formula 注解无法映射整个实体,只能映射单一数据类型

我认为获得高效快速输出的最佳方法是创建一个大型本机查询并使用单个查询一次获取所有数据 但是 如果我是要做到这一点,我必须自己编写本机查询并映射所有内容,这使得使用 hibernate 变得微不足道。

我想的另一种方法是在我的应用程序中使用执行器服务和多线程

现在我的问题是,我仍然可以使用休眠映射并发出高性能查询的最佳方法是什么?

提前致谢

您的问题似乎源于您认为需要在一次控制器调用中收集仪表板的所有信息以呈现单个页面的想法。你应该做的是退后一步,尝试组件化你的仪表板。

换句话说,我的意思是利用Ajax的异步特性。

当浏览器可以异步处理启动多个 Web 请求以呈现单个网页时,确实没有理由将执行程序服务与当今的现代浏览器技术一起使用。