1
是否有可能使用內部查詢進行hibernate批量刪除?例如:HQL批量刪除使用內部查詢
DELETE Person person WHERE person.id IN (SELECT id FROM...)
是否有可能使用內部查詢進行hibernate批量刪除?例如:HQL批量刪除使用內部查詢
DELETE Person person WHERE person.id IN (SELECT id FROM...)
是的。有可能的。看下面的幾點。
Hibernate爲通過Hibernate查詢語言(HQL)執行的批量SQL風格的DML語句執行提供方法。
僞語法UPDATE
和DELETE
語句是:要注意
(UPDATE | DELETE) FROM? EntityName (WHERE where_conditions)
- 在從子句中,FROM關鍵字是可選
- 有隻能是from-clause中指定的單個實體。但是,它可以是別名。如果實體名稱是別名,則任何屬性引用都必須使用該別名進行限定。如果實體名稱不是別名,則任何屬性引用都是合法的,這是非法的。
- 可以在批量HQL查詢中指定任何隱式或顯式連接。子查詢可以用在where子句中,其中子查詢本身可以包含連接。
- where-clause也是可選的。
謝謝主席先生! :) – dilm