0

我似乎偶然发现了 grails gorm/hibernate with mysql 中的一个错误。

我有一个 abstractDomainClass 在源/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 域类看起来像这样

class UserGroup {
    String name

    static hasMany = [domainClasses: DomainClass]

    static belongsTo = [DomainClass]

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

    @Override
    String toString() {
        name
    }
}
4

0 回答 0