我在grails中有两个域类。一个叫书,另一个叫作者。,我的图书课是这样的
class Book {
String name
static constraints = {
name nullable:false
}
}
我的作者类:
class Author {
String name
Book book1
Book book2
Book book3
static constraints = {
name nullable:false
book1 nullable:false
book2 nullable:true
book3 nullable:true
}
}
如果我用两本书创建一个作者,然后将其编辑为一本书,我会出现以下错误:
identifier of an instance of com.apps.Book was altered from 2 to null
如何修复?我使用的是grails 2.1.1和sql server 2008。
在更新方法中,尝试在authorInstance.properties = params
行之前将book2和book3属性设置为null,如下所示:
book2 = null
book3 = null
authorInstance.properties = params
尝试在Author类:中使用"hasOne"
class Author {
String name
Book book1, book2, book3
static hasOne = [ book1:Book, book2:Book, book3:Book ]
}