hibernate Criteria list() 方法 n条sql语句

条件:开启二级缓存
hibernate Criteria list() 方法,搜索第一次,会按条件进行搜索,发出条件搜索sql语句
但第二次时,应该是缓存中已经存在了数据
出发的却是n条按id查询的语句
严重影响了工程的性能.
请问是什么原因,有没有办法解决?

已解决
http://blog.csdn.net/lipingping951462/article/details/52947646

http://blog.csdn.net/aierda/article/details/6218383