Query .list和.getResultList之间的区别

时间:2017-09-29 19:12:54

标签: java hibernate java-ee

最近,如果您使用的是Hibernate 5.2或更高版本,则不推荐使用Query::list()方法。

现在,使用这两种方法的区别是什么?

如果有人知道,请用例子说明。

1 个答案:

答案 0 :(得分:5)

Hibernate 3.2的文档说Query#list()将查询返回为List<T>

  

将查询结果作为List返回。如果查询在前一行包含多个结果,则结果将在Object []的实例中返回。

正如您可以从Hibernate 5.2的较新文档中读到关于同一个命名类的方法Query#getResultListjavax接口方法TypedQuery#getResultList的重写实现。

  

执行SELECT查询并将查询结果作为类型化列表返回。

此方法取代了以前版本的方法。

这个想法是实现Java EE接口(大多数javax库)并保持命名一致。