2

Grails でレガシー データベースの複合キーをモデル化する方法

Grails ドメイン オブジェクトによってモデル化された 3 つのテーブルを持つレガシー データベースがあります。

class Foo {

    static hasMany = [bars: Bar]

    static mapping = {
        version false

        columns {
            id column: "FooId"
            fooProp column: "FooProp"           
        }
    }
}

class Bar implements Serializable{

    Baz baz

    static hasMany = [foos: Foo]

    static belongsTo = [Foo]

    static mapping = {
        version false

        columns {
            id composite: ["FooId", "BazId"]
            baz column: "BazId"
            barProp column: "BarProp"
        }
    }
}

class Baz {

    static hasMany = [bars: Bar]

    static mapping = {
        version false

        columns {
            id column: "BazId"
            bazProp column: "BazProp"
        }
    }
}

しかし、これをデプロイしようとすると、次の例外が発生します

原因: org.springframework.beans.factory.BeanCreationException: 名前 'transactionManager' の Bean の作成中にエラーが発生しました: Bean プロパティ 'sessionFactory' の設定中に Bean 'sessionFactory' への参照を解決できません。ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'sessionFactory' という名前の Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.hibernate.HibernateException: Missing column: id in app.Bar

私はむしろ複合キーを持っていませんが、DBに触れないように厳密な命令があるので、今はそれをモデル化するために最善を尽くしていますが、複合キーはやや難しいことが証明されています...

4

1 に答える 1

0

このスレ参考になる

Grails の多対多の関係を持つ動的ファインダー

私も同じ問題を抱えていました。それは私のための仕事です。

于 2014-10-30T11:59:26.217 に答える