使用MySQL的Grails Gorm DomainClass继承

时间:2013-07-16 13:24:51

标签: mysql hibernate grails gorm abstract-class

我似乎偶然发现了使用mysql的grails gorm / hibernate中的错误。

我有一个abstractDomainClass,它位于sources / groovy下。在这个抽象的域类中,我定义了一个很多关系。

然后我定义了一个从抽象域类继承的DomainClass。现在,当我在MicrosftSQL Server中使用它时,一切正常,但是当我尝试将它与MySQL一起使用时,我得到以下错误消息:

Caused by MappingException: Foreign key (FK96018AD68612E650:domain_class [])) must have same number of columns as the referenced primary key (user_group [id])

我的abstractDomainClass看起来像这样:

abstract class AbstractDomainClass {
    String name

    Set<UserGroup> userGroups

    static hasMany = [userGroups: UserGroup]

    static constraints = {
        name(nullable: false, blank: false)
    }

    String toString() {
        return name
    }
}

我的DomainClass看起来像这样:

class DomainClass extends AbstractDomainClass {
    String earliestEntryDate

    static constraints = {
        earliestEntryDate(nullable: true, blank: false, attributes: [sortable: false])
    }

}

UserGroup Domain类看起来像这样

class UserGroup {
    String name

    static hasMany = [domainClasses: DomainClass]

    static belongsTo = [DomainClass]

    static constraints = {
        name(nullable: false, blank: false)
    }

    @Override
    String toString() {
        name
    }
}

0 个答案:

没有答案