[Seasar-user:14837] Re: [DBFlute] additionalForeignKeyMapで同じテーブルに外部キーを設定でエラー

kubo [E-MAIL ADDRESS DELETED]
2008年 6月 26日 (木) 12:14:04 JST


久保です。

西山さん、こちらで再現いたしました。

大文字でCREATEしたテーブル/カラムに対して、
additionalForeignKeyで小文字で定義して、
MultipleFK(同じテーブルへ2つ以上のFK)にしたら、
同じ現象でコンパイルエラーになりました。

恐らく、西山さんのところで発生している現象も
その関連かと思われます。

基本、大文字小文字を区別しないようにしているつもりなので、
これはDBFluteのバグとなります。

http://dbflute.sandbox.seasar.org/download/dbflute/dbflute-0.7.5.zip
こちらにて、DBFlute-0.7.5のSNAPSHOTがあります。
こちらで試して頂けませんでしょうか?
原因が正解であれば、直るはずです。

2008/6/26 kubo <[E-MAIL ADDRESS DELETED]>:
> 久保です。
>
> 西山さん、ありがとうございます。
>
> 試しに、dfpropでのテーブル名やカラム名の指定を
> 全て大文字で試して頂けますでしょうか?
> JDBCドライバによっては、CREATE文で小文字でも
> メタデータが大文字の場合もあったりするためです。
>
>
> 2008/6/26 西山 はじめ <[E-MAIL ADDRESS DELETED]>:
>> お世話になっております。西山です。
>>
>> 申し訳ありません、DBの種類等抜けてました。
>> DB : h2database 1.0.69です。
>>
>> 本当はOracle9i(9.2.0.1)を使用するのですが、DBFlute調査中に件
>> 名のエラーとなりました。
>>
>> DB上にFKを張って自動生成した場合は、ビルドエラーになりません
>> でした。
>> メソッド名やフィールド名自体がdfpropに指定した場合と違ってい
>> ます。
>> ・自動生成時
>> BsBbbCB.java
>>  setupSelect_AaaByUserId()
>>  setupSelect_AaaByManagerId()
>>
>> ・dfprop指定時
>> BsBbbCB.java
>>  setupSelect_Aaa()
>>  setupSelect_Aaa()
>>
>> 以上よろしくお願いいたします。
>>
>> [2008/06/25 23:44] kubo さんは書きました。:
>>> 久保(jflute)です。
>>>
>>> すいません、五月雨で。。。
>>> ご利用のデータベースを教えて頂けますでしょうか?
>>> (OracleかPostgreSQLかMySQLかなど)
>>>
>>> 2008/6/25 kubo <[E-MAIL ADDRESS DELETED]>:
>>>> 久保(jflute)です。
>>>>
>>>> 西山さん、こんばんは
>>>>
>>>> 取り急ぎの確認ですが、
>>>> additionalForeignKeyMap経由でなく、
>>>> DB上にFK制約を貼って自動生成した場合は
>>>> どうなるか試すことは可能でしょうか?
>>>>
>>>> 2008/6/25 西山 はじめ <[E-MAIL ADDRESS DELETED]>:
>>>>> お世話になっております。西山と申します。
>>>>>
>>>>> additionalForeignKeyMapで同じテーブルに対して
>>>>> foreginTableNameの設定を行うとビルドエラーとなってしまいます。
>>>>> どうやら、CQ、CBクラスなどのメソッド名が重複してしまうみたい
>>>>> です。
>>>>>
>>>>> ・replace-schema.sql
>>>>> CREATE TABLE aaa (
>>>>>        aaa_id Integer
>>>>> ,       aaa_name VARCHAR(10)
>>>>> );
>>>>>
>>>>> CREATE TABLE bbb (
>>>>>        bbb_id Integer
>>>>> ,       aaa_user_id Integer
>>>>> ,       aaa_manager_id Integer
>>>>> ,       bbb_name VARCHAR(10)
>>>>> );
>>>>>
>>>>> ・additionalForeignKeyMap.dfprop
>>>>> map:{
>>>>> ;FK_BBB_USER_AAA = map:{
>>>>> ; localTableName  = bbb ; foreignTableName = aaa
>>>>> ; localColumnName = aaa_user_id ; foreignColumnName = aaa_id
>>>>> }
>>>>> ;FK_BBB_MANEGER_AAA = map:{
>>>>> ; localTableName  = bbb ; foreignTableName = aaa
>>>>> ; localColumnName = aaa_manager_id ; foreignColumnName = aaa_id
>>>>> }
>>>>> }
>>>>>
>>>>> 回避手段ありますでしょうか?
>>>>>
>>>>> DBFlute : version = 0.7.4
>>>>>
>>>>> 以上よろしくお願いいたします。
>>>>>
>>>>> --
>>>>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>>>> 株式会社フジミック システム開発センター ソフト開発2部
>>>>> 西山 創
>>>>> [E-mail]:[E-MAIL ADDRESS DELETED]
>>>>>
>>>>> 〒140-0002 品川区東品川3-32-42 フジテレビ別館7F
>>>>> [TEL]:03-5495-1060
>>>>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>>>>
>>>>> _______________________________________________
>>>>> Seasar-user mailing list
>>>>> [E-MAIL ADDRESS DELETED]
>>>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>>>
>>> _______________________________________________
>>> Seasar-user mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>
>>>
>>
>>
>> --
>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>> 株式会社フジミック システム開発センター ソフト開発2部
>> 西山 創
>> [E-mail]:[E-MAIL ADDRESS DELETED]
>>
>> 〒140-0002 品川区東品川3-32-42 フジテレビ別館7F
>> [TEL]:03-5495-1060
>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>


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