hibernate的严重性能问题

wewejfj234 2007-05-14 09:03:15
A表关联5个表,当对A表读取1000条数据时,查询数据库次数竟然是5*1000+1=5001次。晕。
如果对这6个表用视图连接,用jdbc只需对数据库读一次就能拿出1000条数据了。
难道hibernate不适用于多表联查吗?
...全文
236 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
laoer 2007-05-14
  • 打赏
  • 举报
回复
这种情况下,用Hibernate的关联查询显然出现严重的性能障碍,解决的办法有几种:
1、使用Hibernate的二级缓存,不过在数据量非常大的情况下,缓存效果不明显
2、使用原生sql
3、建立Hibernate到view的映射,但只能查询,不能更新数据
总的来说,Hibernate在处理复杂数据的时候还是有些力不从心,这就要求在数据设计的时候多下一些功夫了。
lovingprince 2007-05-14
  • 打赏
  • 举报
回复
要看你,读取数据的方式了,如果你使用iterator读取的话,当然需要这么多次。
forandever 2007-05-14
  • 打赏
  • 举报
回复
级联设置的不对头

或者你可以考虑一下使用 h 的原生SQL 查询方式

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧