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