日期:2014-05-20  浏览次数:20847 次

Hibernate 查询速度慢得可怕的问题,请高人看看。
我使用SSH 在持久层进行查询,使用的是HibernteaTemplate().findByCriteria(DetachedCriteria.forClass(User.class))
进行查询 其中User.class是我在action里面传过来的 ,现在的问题是 我的User表中只有100多条信息 12列 每次打开网页查询的时间居然要15-30秒 才能打开页面数据,实在不太明白,所以来这里问问。希望能找到答案。

------解决方案--------------------
的确是慢,hibernate本身就比较慢,设计要求也比较高!学习了...
------解决方案--------------------
探讨
这个我觉得其实不是慢的问题 而是有可能这个方法是不是需要什么特殊写法?在慢也不会几百条数据 十几秒的时间。

------解决方案--------------------
1.先确定这15-30秒是否都浪费在查询数据库了
2.检查User表索引
3.User表是否关联了其它表,最好加上lazy
4.改成hql或sql比较下速度
------解决方案--------------------
探讨

接着补充。。。发现查询A类的时候 假如A类里面没有对应CustomerID的那一条数据.就会报org.hibernate.ObjectNotFoundException: No row with the given identifier exist [ifmsMyPriceWeb.pojo.DocPort#1]我想应该是我配置关联映射的时候配置错了?

------解决方案--------------------
不懂 来看答案