我有一个类工作区,它包含一组表,即工作区和列表之间存在一对多关系。一个工作区可能有一百万个列表。问题是,当我在工作空间中访问图纸集合的单个元素时,所有一百万个元素都会被提取。有没有办法让我把这些床单一套10张或一张一张地拿出来?
查看有关提高性能的hibernate文档。
基本上,您希望使用fetch
属性。
看看这里:http://docs.jboss.org/hibernate/core/3.5/reference/en/html/performance.html#performance-提取lazyproperties
关键词是超懒惰抓取。
尤其是这一段可能令人感兴趣。最后写着:
createFilter()方法还用于有效地检索集合的子集,而无需初始化整个集合:
s.createFilter(lazyCollection,").setFirstResult(0).setMaxResults(10).list();