Почему бы мне не использовать @BatchSize в каждом загруженном ленивом отношении?

Аннотация @BatchSize hibernate позволяет получать пакетную загрузку объектов с отложенной загрузкой. Например. если я получил что-то вроде:

public class Product {


    @OneToMany(fetchType=LAZY)
    @BatchSize(size=10)
    private ProductCategory category;

}

Теперь, если я получу категорию продукта, Hibernate получит категории еще до десяти продуктов, которые находятся в текущем сеансе и еще не имеют инициализированного поля категории. Это экономит тонну вызовов SQL в базе данных. Все идет нормально. Теперь интереснопочему бы мне не использовать аннотацию @BatchSize в КАЖДОЙ лениво загруженной взаимосвязи? В конце концов, зачем мне дополнительные звонки в базу данных? Очевидно, для этого должна быть причина, иначе ребята из Hibernate могли бы сделать это по умолчанию, но я в настоящее время не вижу этого.

Ответы на вопрос(2)

Ваш ответ на вопрос