[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 メーリングリストの案内