【发布时间】:2011-01-07 07:28:16
【问题描述】:
我想从表中删除某些记录。这些记录在其他表中有一些子记录。
为了能够删除主记录,我必须先删除子记录。
以下是使用的 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 的怪癖?
【问题讨论】: