hibernate的@BatchSize注释允许批量获取延迟加载的实体.例如.如果我有这样的东西:
public class Product { @OneToMany(fetchType=LAZY) @BatchSize(size=10) private ProductCategory category; }
现在,如果我得到一个产品的类别,Hibernate将获取最多十个产品的类别,这些产品在当前会话中,还没有将它们的类别字段初始化.这样可以节省大量sql调用数据库.到现在为止还挺好.现在我不知道为什么我不会使用@BatchSize注释在每一个懒惰的关系?毕竟为什么要额外拨打数据库?显然必须有一个理由,否则Hibernate的家伙可能会把它作为默认,但是我目前看不到它.