0

mysql を使用した grails gorm/hibernate のバグに遭遇したようです。

sources/groovyの下にabstractDomainClassがあります。この抽象ドメイン クラスでは、多対多の関係を定義しました。

次に、抽象ドメイン クラスから継承する 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