Java Hibernate 复杂实体关联下,简单查询都很慢,如何优化?

查看 66|回复 6
作者:XiaoJiang9527   
最近正在整改一个老项目,里面的表结构错综复杂,实体中的映射表字段基本都增加了 @ManyToOne 和 @JoinColumn 注解,导致很多简单单表查询都需要执行很久。
但是打印具体 hibernate SQL 日志,Explain 下,也不存在什么性能问题,各位大佬们,怎么解?

hibernate, 表字段, 单表, explain

issakchill   
是不是查单表的时候 也自动遍历关联查了关联表的数据?
nothingistrue   
没 DDD 小聚合,或者类似的数据模型,不要用 Hibernate 。当然就算是用了 DDD ,也是用通过读写分离,来避开复杂查询的。
BiChengfei   
我不用 @ManyToOne 和 @JoinColumn ,都是在代码中手动关联查询,感觉这两个注解隐藏了太多细节。sql 都有了,就一个流程一个流程看呗,要么数据多,要么流程多
XiaoJiang9527
OP
  
@issakchill 没错,一个简单查询能打印 6 条查询语句,有一个 SQL 甚至 JOIN 了 9 张表
XiaoJiang9527
OP
  
@nothingistrue 看来复杂查询只能全部拆分成原生 SQL 去解决了。
XiaoJiang9527
OP
  
@BiChengfei 流程一个一个看,给我震惊的不行,一个 hibernate 的 Query 方法,能打印 6 条查询语句 !!!
您需要登录后才可以回帖 登录 | 立即注册

返回顶部