禁用从依赖到所有者的级联

时间:2014-09-18 11:17:35

标签: grails gorm cascade

我遇到了从依赖项(Book to Library,在本例中)中保存级联到所有者对象的问题。

我有两个这样的域名:

Library {
  String name

  static hasMany = [ books: Book]
}

Book {
  static belongsTo = [ library: Library]
}

我会安静地访问它们。

现在假设有两个库:

  • id:1,name:library1
  • id:2,name:library2

我有一本属于图书馆-1的书。我这样得到了:

GET /book/1
response: {
  id: 1,
  library: {
    id: 1,
    name: "library1"
  }
}

然后有人更新图书记录,将其分配到不同的图书馆

PUT /book/1
request body: {
  id: 1,
  library: {
    id: 2,
    name: "library1"
  }
}

然后它将使用id:2重命名库以命名“library1”。

  • id:1,name:library1
  • id:2,name:library1

我希望它只是从请求中获取库的id,并更新书记录的library_id字段。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

由于您希望在Grails脚手架中修改REST功能的默认行为,因此您需要实现自己的控制器来处理此问题。

我建议您查看现有脚手架创建和修改它以满足您的需求。在你编写任何进一步的代码之前,你最好先阅读Grails documentation(是的,我知道有很多,但它也会为你节省很多工作)。