При использовании c.clear (), где c имеет тип Collection, представляющий отношение владельца @ManyToMany, Spring-> JPA-> Hibernate создает один оператор удаления для каждой записи в коллекции, например:
Hibernate: delete from printer_feature where printers_id=? and features_id=?
Hibernate: delete from printer_feature where printers_id=? and features_id=?
Hibernate: delete from printer_feature where printers_id=? and features_id=?
Hibernate: delete from printer_feature where printers_id=? and features_id=?
Hibernate: delete from printer_feature where printers_id=? and features_id=?
Я читал, что в Hibernate есть что-то, называемое пакетной обработкой, но я не уверен, может ли это помочь или как-то «намекается» в аннотациях JPA.Я пытаюсь уменьшить количество операторов удаления здесь.
Как это можно оптимизировать до:
1) delete from printer_feature where printer_id = ?
, в конце концов, я делаю clear()
для коллекциитак что все должно очиститься, верно?
2) delete from printer_feature where printer_id = ? and feature_id in (?, ?, ?, ....)
в качестве компромисса можно ли это заменить одним удалением в этом формате?
Спасибо.-AP_