Grails HasMany列表与具有BelongsTo关系的扩展类的关系

时间:2015-05-29 20:40:37

标签: grails gorm

我在设置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)

当我将书籍作为列表时,我才会遇到此异常。

1 个答案:

答案 0 :(得分:0)

我认为这个问题可能与你说Author有很多Book s,但Book的超类Content这一事实有关。 },属于Authur

如果您将ContentBook类更改为此内容会发生什么:

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]
}