我在這裏堅持使用外鍵約束。不管是什麼我指定級聯行爲或belongsTo/hasMany
,我得到一個外鍵約束錯誤Grails級聯刪除?
我有這樣的:
class A{
}
class B{
}
class C extends B {
static belongsTo = [a: A]
}
我想運行A.list()*.delete()
什麼我需要做的C
與A
級聯刪除?
我在這裏堅持使用外鍵約束。不管是什麼我指定級聯行爲或belongsTo/hasMany
,我得到一個外鍵約束錯誤Grails級聯刪除?
我有這樣的:
class A{
}
class B{
}
class C extends B {
static belongsTo = [a: A]
}
我想運行A.list()*.delete()
什麼我需要做的C
與A
級聯刪除?
在最新版本的文檔中(http://grails.org/doc/latest/guide/5.%20Object%20Relational%20Mapping%20%28GORM%29.html#5.3.3%20Understanding%20Cascading%20Updates% 20和%20Deletes)它顯示與這個映射關係爲'單向一對一',所以我想你可能會在這裏做點什麼。 – proflux
這會失敗,因爲只有C定義了列。如果我將字段移到基類B,我仍然會得到這個錯誤,無論是使用executeUpdate還是* .delete(); –
它看起來像你需要這個AND 'A.withNewSession {} .findByBlah()*。delete() }'這看起來有點瘋狂,但它是唯一可以通過我的外鍵集成測試,並且我不知道爲什麼。 –
你能發佈外鍵約束的錯誤? – Tom
無法執行更新查詢:SQL [delete form A where deleted =?] constraint [fk
我的實際刪除是一個'executeUpdate',其中'delete from A where condition',因爲我正在刪除很多記錄,並且不能迭代刪除。 –