[Seasar-user:20374] DBFluteのadditionalForeignKeyについて

N.Kuwako [E-MAIL ADDRESS DELETED]
2010年 12月 4日 (土) 01:14:00 JST


お世話になっております。
桑田と申します。

現在、DBFluteを使用して、開発を行っております。
DBFlute.NET-0.8.9.21において、additionalForeignKeyのfixedCondition
を利用して業務的one-to-oneを実現しております。
下記のような設定をadditionalForeignKeyに記述してjdbc.bat、generate.batを
実行してビルドを行った結果、エラーとなってしまいます。

map:{
    ; FK_MEMBER_FOO_MST_CLASS = map:{
        ; localTableName = MEMBER
        ; foreignTableName = MST_CLASS
        ; localColumnName = FOO_CODE ; foreignColumnName = CLASS_CODE
        ; fixedCondition = $$foreignAlias$$.GROUP_CODE = 'foo'
        ; fixedSuffix = AsFoo

    }
}

map:{
    ; FK_MEMBER_HOGE_MST_CLASS = map:{
        ; localTableName = MEMBER
        ; foreignTableName = MST_CLASS
        ; localColumnName = HOGE_CODE ; foreignColumnName = CLASS_CODE
        ; fixedCondition = $$foreignAlias$$.GROUP_CODE = 'hogehoge'
        ; fixedSuffix = AsHogehoge

    }
}

調べた結果、MEMBERからMST_CLASSへのリレーションはfixedSuffixを元に分離し
て関連付くのですが、MST_CLASSからMEMBERへの逆リレーションまで生成してい
る模様です。このためMST_CLASSからMEMBERのリレーションコードが二重に出力
され、エラーの原因になっていると思われます。
fixedConditionを利用した場合は業務的one-to-oneとなり、逆リレーションコー
ドが出力されないと認識していたのですが、何か間違っているのでしょうか

大変申し訳ございませんが、ご教示いただければ幸いです。




Seasar-user メーリングリストの案内