通过ID查找的Hibernate比查找全部慢

时间:2018-02-02 07:10:17

标签: java oracle performance hibernate jpa

因此,对于初学者来说,我正在开发一个带有角度前端,Java 8中间件和Oracle 12c后端的应用程序。 UI通过REST,中间件访问oracle通过Hibernate将请求发送到java中间件。

在我的应用程序中,我有一个与其他实体有很多关系的实体类型A.我遇到的问题是,当实体经理通过其ID查找实体A时,对这些实体中的某些实体的查询需要花费超过15秒的时间。它似乎特定于何时类型A实体与特定类型B实体有关系,并且我已经懒洋洋地尝试并急切地获取无效。问题仍然存在,无论它是如何获取的,我已经将时间记录在应用程序的所有层中,而减速特别是当ID在门面级别完成时。也就是说,如果我为所有类型A实体查找所有查询,则查询在合理的时间内完成当前数据库中的实体数量(即远小于15秒)。我已经尝试过搜索类似案例和阅读文档,但我找不到一个有效的理由说明为什么会这样。希望拥有比我更多hibernate经验的人遇到类似的问题,并且可以指出我正确的方向。如果需要,将很乐意进一步详细说明,但不能完全确定在hibernate的引擎下会发生什么来解释这种行为。谢谢。

[编辑]感谢您的回复,并为模糊道歉。有很多事情影响了我更彻底的能力,或者获得了确切的SQL语句等等。对于在不久的将来可能会发现这一点的人来说,问题与实体中2个实体C对象的自定义注释有关。答:到目前为止,我还没有完全找到问题的根源,但已经确认这是问题,并希望在此更新,说它不是一般的Hibernate问题,而是更具体的自定义问题注释

0 个答案:

没有答案