Можно ли отправлять операции DELETE пакетами в Hibernate?
Есть аннотация @BatchSize. Насколько я понимаю, она оптимизирует использование сети: запросы INSERT или SELECT собираются в один большой пакет, который целиком исполняется базой данных.
Я пытаюсь понять, можно ли таким же образом оптимизировать запросы DELETE?
У меня есть сущность:
@Entity
public class Cat {
@Id
private final Integer id;
@OneToMany(mappedBy = "cat", orphanRemoval = true, cascade = CascadeType.ALL)
private final Set<Kitty> kittens;
}
Я могу обновить множество котят. Для этого я в транзакции очищаю множество kittens, а потом заполняю его другими значениями. Это генерирует множество DELETE запросов, которые, насколько я понимаю, не объединяются в пакет (а может быть и объединяются, я плохо знаю механизмы Hibernate).
Так вот можно для операции удаления также использовать @BatchSize, будет ли это иметь эффект? Или можно как-то по-другому реализовать пакетное удаление? Или оно мне вообще не нужно?