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

西山 はじめ [E-MAIL ADDRESS DELETED]
2008年 6月 26日 (木) 13:06:56 JST


お世話になっております。西山です。

久保様、素早いご対応ありがとうございます。

さっそく試してみたところ、ビルドエラーは発生しなくなりました。

実際のデータ取得はまだ確認しておりませんが、時間的にすぐには 
無理そうです。
取り急ぎ、ビルドだけ確かめました。

以上よろしくお願いいたします。


[2008/06/26 12:14] kubo さんは書きました。:
> 久保です。
> 
> 西山さん、こちらで再現いたしました。
> 
> 大文字で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
>>>
> 
> 
> 


-- 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
株式会社フジミック システム開発センター ソフト開発2部
 西山 創
[E-mail]:[E-MAIL ADDRESS DELETED]
 
〒140-0002 品川区東品川3-32-42 フジテレビ別館7F
[TEL]:03-5495-1060
++++++++++++++++++++++++++++++++++++++++++++++++++++++++



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