Hibernate:Query中list、iterate跟uniqueResult三个方法的区别
Hibernate:Query中list、iterate和uniqueResult三个方法的区别
想看下org.hibernate.Query接口中定义的三个方法(list、iterate和uniqueResult)有什么区别。
通过追踪地看一相关源码后,发现情况是这样的。
简单说来,它们的特点是这样的:
1,list方法是把所有满足条件的结果集都解析转换成Model对象,再把这些对象放到List实例中。
2,iterate调用了ResultSet的next方法,按需要地一个一个地解析转换成model类。
3,uniqueResult,没啥说的,它实质上是list()方法,只不过是在外面再用uniqueElement处理了下。注意,这个方法如果拿回的List中不只是含有一个Model对象的话,会抛出NonUniqueResultException异常。
1 楼
rmn190
2010-09-07
1, 这三个方法实现中,对缓存的支持情况怎样?
2 楼
liuxuejin
2011-01-26
楼主说的很含糊啊!