我在设置List作为与具有扩展类的belongsTo的hasMany关系时遇到问题。
使用新的Grails 2.4.4应用程序,我有以下3个域:
一本有很多书的作家班。
class Author {
List books
static hasMany = [books: Book]
}
扩展内容的Book类
class Book extends Content {
String foo
}
和内容,它有许多共同属性。
class Content {
String title
static belongsTo = [author: Author]
static constraints = {
sort: 'title'
}
}
运行此应用程序时,我得到以下异常:
引起:org.hibernate.MappingException:实体映射中的重复列:test.relationships.Book列:author_id(应使用insert =&#34映射; false" update =&#34假#34)
当我将书籍作为列表时,我才会遇到此异常。
答案 0 :(得分:0)
我认为这个问题可能与你说Author
有很多Book
s,但Book
的超类Content
这一事实有关。 },属于Authur
。
如果您将Content
和Book
类更改为此内容会发生什么:
class Content {
String title
static constraints = {
sort: 'title'
}
}
class Book extends Content {
static belongsTo = [author: Author]
String foo
}
或者,将您的Author
课程更改为:
class Author {
List books
static hasMany = [contents: Content]
}