Я хочу удалить определенные записи из таблицы. Эти записи имеют несколько дочерних записей в других таблицах.
Чтобы иметь возможность удалять основные записи, я должен сначала удалить дочерние записи.
Вот пример используемого HQL:
delete from ItineraryBooking ib where ib.booking.user.id = :paramId
В основном, это должно удалить все ItineraryBookings (записи в отдельной таблице), они присоединяются к таблице бронирования Таблица бронирования может быть объединена с таблицей пользователя.
Странно то, что если вы измените вышеприведенное на:
from ItineraryBooking ib where ib.booking.user.id = :paramId
И выполните Query.list (), он будет работать нормально.
Всякий раз, когда я хочу выполнить вариант удаления, похоже, что Hibernate генерирует нечетный оператор удаления. Мой HQL не так? Или это спящий Hibernate?