Аннотация @BatchSize спящего режима позволяет загружать загруженные объекты с ленивой загрузкой. Например. если я получил что-то вроде:
public class Product {
@OneToMany(fetchType=LAZY)
@BatchSize(size=10)
private ProductCategory category;
}
Теперь, если я получу категорию продукта, Hibernate будет отображать категории до десяти других продуктов, которые находятся в текущем сеансе и еще не были инициализированы поле своей категории. Это экономит тонну вызовов SQL в базе данных. Все идет нормально. Теперь я задаюсь вопросом , почему бы мне не использовать аннотацию @BatchSize для КАЖДОЙ ленивой загрузки? В конце концов, зачем мне нужны дополнительные вызовы в базу данных? Очевидно, что это должно быть причиной этого, в противном случае ребята из Hibernate могли сделать это по умолчанию, но я в настоящее время не вижу его.