2016-10-18 73 views
1

我有一個域A有許多域B和C. B有屬於A和C有一個關係。如何在Grails中級聯刪除?

我在刪除A,但會拋出「參照完整性約束違規:」錯誤。

現在我想當我刪除它的相關的B和C記錄刪除。

+1

你有沒有設置域B和C'belongTo'?然後級聯應該自動發生:http://docs.grails.org/latest/ref/Database%20Mapping/cascade.html – alexanderfranke

+0

在B belongsTo被設置,並在C hasOne設置。 –

+0

首先你需要刪除關係域,然後你可以刪除你的主域名 –

回答

0

嘗試這樣:

@Transactional 
    void deleteA(Long id) { 
      A a = A.get(id) 
      def listOfB = B.findAllByA(A) 
      listOfB*.delete() 
      def listOfC = C.findAllByA(A) 
      listOfC*.delete() 
      A.delete(flush: true) 
     } 
+0

非常感謝 –