首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优化冬眠层

优化冬眠层
EN

Stack Overflow用户
提问于 2017-05-30 18:43:54
回答 2查看 28关注 0票数 0

在使用Hibernate将逻辑从遗留应用程序(SQL/coldfushion)转移到Spring之后,我们在应用程序中经历了缓慢的过程。主要原因是使用Hibernate,我们注意到生成了许多查询,我们使用的是遗留应用程序中的一个查询(两页长的查询)。

现在编写,我正在考虑选择适当的获取策略,并尝试优化代码。你能给我其他的领域,我需要调查以优化Hibernate层或任何其他功能吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-30 21:20:40

  • 尝试使用DTO而不是实体(您可以直接从数据库加载DTO )
  • 检查加载策略(急切或延迟)
  • 尝试更多地使用本机查询
  • 尝试使用更多的参数来限制结果集
  • 您还可以利用一些缓存技术(缓存所有静态数据)。
  • 尝试为每个实体实现hashCodeequals
票数 0
EN

Stack Overflow用户

发布于 2017-05-31 10:44:22

  1. 如果使用HQL查询,然后添加'join fetch',就可以避免n+1查询问题。有关join fetch的更多信息

例如:

代码语言:javascript
复制
select a from Model a 
inner join fetch a.b as b
  1. 为在where条件下使用的列添加“索引”。

例如:为在where条件下使用的列“name”添加索引。

代码语言:javascript
复制
select a from Model a where a.name ='x'

请按以下链接操作:

http://www.thoughts-on-java.org/tips-to-boost-your-hibernate-performance/

https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/performance.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44269662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档