Каскадное удаление (и каскадные операции в целом) действует только тогда, когда операция выполняется через EntityManager
. Не тогда, когда удаление выполняется как массовое удаление по запросу JP QL / HQL. Вы не можете указать отображение, которое бы связывало удаление с элементами в ElementCollection
, когда удаление выполняется с помощью запроса.
ElementCollection
аннотация не имеет каскадного атрибута, потому что операции всегда каскадные. Когда вы удаляете свою сущность через EntityManager.remove()
, операция каскадно переходит в ElementCollection
.
Вы должны выбрать все MonthlyReport
сущностей, которые хотите удалить, и вызвать EntityManager.remove
для каждой из них. Похоже, вместо этого в Play Framework вы также можете вызывать delete-метод в сущности.