Я снова застрял при попытке удалить данные с помощью Hibernate ..
Я нахожусь в точке, где я начинаю просто составлять аннотации в стеке, надеясь, что что-то будет работать ... пока ничего не происходит.
Мне нужно удалить старый расчет при запуске нового для того же периода времени.
У меня есть следующий запрос
@Modifying
@QueryHints(value = @QueryHint(name = HINT_FETCH_SIZE, value = "10"))
@Query(value = "DELETE FROM Group a WHERE a.c_date BETWEEN :dateA AND :dateB")
void deleteOld(@Param("dateA") LocalDate dateA, @Param("dateB") LocalDate dateB);
, который использует группу объектов, которая имеет (в верхней части нормальногоАтрибут String, LocalDate и long types)
@OneToMany(cascade=CascadeType.ALL, mappedBy = "owner", orphanRemoval = true)
@JsonManagedReference
@OnDelete(action = OnDeleteAction.CASCADE)
private List<Instrument> instruments = new ArrayList<>();
Но я все равно получаю violated - child record found
каждый раз, когда пытаюсь запустить метод удаления.
Я продолжаю находить все больше и больше аннотаций, подобных этой, оттемы, где люди имеют такие же проблемы, но я хотел бы понять, почему это проблема.Из того, что я прочитал, Cascade и orphanRemoval должны быть все, что мне нужно, но это точно не похоже.
Hibernate: 5.2.17.Final
Пожалуйста, помогите мне понять, почему этопроисходит?