Java 如果我对惰性集合调用size(),Hibernate是否会获取它?

Java 如果我对惰性集合调用size(),Hibernate是否会获取它?,java,performance,hibernate,collections,Java,Performance,Hibernate,Collections,当我们在Hibernate中使用一对多关系映射(比如一个房子,多个窗口)并调用类似于house.getWindows().size()的方法时,Hibernate是否足够智能,可以调用select count?或者,它将从窗口表中获取映射到house表中的行的所有行 通过迭代计算子代的效率可能非常低,因为有关窗口的大量数据将在不需要任何数据的情况下获取。size()是否同样糟糕?如果在某个地方配置了结果集限制,size() 在调用size()的情况下,通常会初始化集合,但这可以通过附加注释进行更

当我们在Hibernate中使用一对多关系映射(比如一个房子,多个窗口)并调用类似于
house.getWindows().size()
的方法时,Hibernate是否足够智能,可以调用
select count
?或者,它将从
窗口
表中获取映射到
house
表中的行的所有行


通过迭代计算子代的效率可能非常低,因为有关窗口的大量数据将在不需要任何数据的情况下获取。
size()
是否同样糟糕?如果在某个地方配置了结果集限制,
size()

在调用
size()
的情况下,通常会初始化集合,但这可以通过附加注释进行更改

如果希望执行
selectcount
查询,则需要指定一些附加注释或XML属性

有关详细信息,请参阅SO讨论