想看下org.hibernate.Query接口中定义的三个方法(list、iterate和uniqueResult)有什么区别。
通过追踪地看一相关源码后,发现情况是这样的。
简单说来,它们的特点是这样的:
1,list方法是把所有满足条件的结果集都解析转换成Model对象,再把这些对象放到List实例中。
2,iterate调用了ResultSet的next方法,按需要地一个一个地解析转换成model类。
3,uniqueResult,没啥说的,它实质上是list()方法,只不过是在外面再用uniqueElement处理了下。注意,这个方法如果拿回的List中不只是含有一个Model对象的话,会抛出NonUniqueResultException异常。
本文详细介绍了Hibernate Query接口中的list、iterate和uniqueResult方法的区别。list方法将所有结果转换为Model对象并放入List;iterate方法按需逐条转换;uniqueResult则确保结果唯一,否则抛出异常。
1298

被折叠的 条评论
为什么被折叠?



