为每个集合元素分别选择 - 休眠

时间:2012-01-13 17:20:22

标签: java hibernate

我有一个包含工作表集合的类工作空间,即工作空间和列表之间存在一对多的关系。工作区可能有一百万个列表。问题是,当我在工作区中访问工作表集合的单个元素时,会获取所有数百个元素。有没有办法让我以10集或1张为单位获取这些表?

2 个答案:

答案 0 :(得分:0)

查看hibernate documentation on improving performance

基本上你想使用fetch属性。

答案 1 :(得分:0)

看看这里:http://docs.jboss.org/hibernate/core/3.5/reference/en/html/performance.html#performance-fetching-lazyproperties

关键词是 extra-lazy 抓取。

特别是this paragraph可能会引起人们的兴趣。最后它说:

  

createFilter()方法还可用于高效检索集合的子集,而无需初始化整个集合:

     
    

s.createFilter(lazyCollection,“”)。setFirstResult(0).setMaxResults(10).list();