[Seasar-user:15233] Re: [DBFlute] Viewに対してadditionalForeignKeyMapの設定
西山 はじめ
[E-MAIL ADDRESS DELETED]
2008年 7月 31日 (木) 13:31:37 JST
お世話になっております。西山です。
追加ですが、以下の設定ですとload~メソッドが生成されません。
1.replace-schemaに以下を追加
CREATE VIEW MEMBER_VIEW AS
SELECT * FROM MEMBER;
2.additionalPrimaryKeyMapに以下を追加
; PK_MEMBER_VIEW = map:{
; tableName = MEMBER_VIEW ; columnName = MEMBER_ID
}
3.additionalForeignKeyMapに以下を追加
; FK_MEMBER_VIEW = map:{
; localTableName = MEMBER_WITHDRAWAL ;
foreignTableName = MEMBER_VIEW
; localColumnName = MEMBER_ID ; foreignColumnName
= MEMBER_ID
}
4.replace-schemaから以下を削除
ALTER TABLE MEMBER_WITHDRAWAL ADD CONSTRAINT
FK_MEMBER_WITHDRAWAL_MEMBER
FOREIGN KEY (MEMBER_ID) REFERENCES MEMBER (MEMBER_ID) ;
上記の設定後、generate.batを実行しましたが、MemberViewBhvに
はload~はありませんでした。
MemberWithDrowalCBには、setupSelect_MemberViewメソッドが存在
します。
> ; FK_SUMMARY_PRODUCT_PRODUCT_STATUS = map:{
>> ; localTableName = PRODUCT_STATUS ; foreignTableName =
>> SUMMARY_PRODUCT
>> ; localColumnName = PRODUCT_STATUS_CODE ; foreignColumnName =
>> PRODUCT_STATUS_CODE
>> }
すいません。こちらはそもそもPKからFKを張ることなんてないので
こちらは無視していただいて結構です。
以上よろしくお願いいたします。
> は、自分もやってみましたが確かに生成されません。
> この場合はlocalColumnNameのPRODUCT_STATUS_CODEが
> PrimaryKeyのため、OneToOneのリレーションと判断されて
> 生成されていないかもしれません。(調査中)
> (OneToOneの場合はloadXxx()はそもそも生成されません)
>
>
> 2008/7/31 西山 はじめ <[E-MAIL ADDRESS DELETED]>:
>> お世話になっております。西山です。
>>
>> 0.7.7を使用してみたのですが、やはりViewだとload~メソッドが 生成されません。
>>
>> exampleの方も、localがView で foreignがTableとなっています。
>> localがTable、foreginがViewに書き換えてみましたが、load~メ ソッドは生成されませんでした。
>>
>> 変更したのは以下の内容です。
>>
>> ; FK_SUMMARY_PRODUCT_PRODUCT_STATUS = map:{
>> ; localTableName = PRODUCT_STATUS ; foreignTableName =
>> SUMMARY_PRODUCT
>> ; localColumnName = PRODUCT_STATUS_CODE ; foreignColumnName =
>> PRODUCT_STATUS_CODE
>> }
>>
>> 以上お手数ですがよろしくお願いいたします。
>>
>> [2008/07/30 22:53] kubo さんは書きました。:
>>> 久保(jflute)です。
>>>
>>>> 出来れば欲しいです。
>>>>
>>>> 今、二つのアプリケーションから利用されるDB(片方は、参照Only
>>>> のマスタ系テーブルのみ利用)があります。
>>>> 過去の遺産の為か、テーブル名・カラム名とも暗号となっているた
>>>> め、Viewを利用してわかりやすくしようとしています。
>>>> テーブル自体を変更できれば楽なのですが、今回手を加えないアプ
>>>> リケーションの方でマスタ系メンテナンスを行っているため、変更
>>>> できません。
>>> http://dbflute.sandbox.seasar.org/download/dbflute/dbflute-0.7.7.zip
>>> にて対応しました。確認お願いできますでしょうか?
>>>
>>> dbflute-basic-exampleにて、
>>> 実際にVIEWを生成してadditionalPrimaryKeyMap.dfpropで
>>> 定義をしております。こちら参考にして下さい。
>>>
>>> 2008/7/30 西山 はじめ <[E-MAIL ADDRESS DELETED]>:
>>>> お世話になっております。西山です。
>>>>
>>>>> 取り急ぎお答え致します。
>>>>> こちら、VIEWに「PK」の情報がないため、
>>>>> ViewのBehaviorにloadXxx()が設定されません。
>>>> 了解いたしました。PKの情報を利用しているのですね。
>>>>
>>>>> #
>>>>> # additionalPrimaryKeyMapみたいな設定があった方が
>>>>> # よいですかね。。。
>>>>> #
>>>> 出来れば欲しいです。
>>>>
>>>> 今、二つのアプリケーションから利用されるDB(片方は、参照Only
>>>> のマスタ系テーブルのみ利用)があります。
>>>> 過去の遺産の為か、テーブル名・カラム名とも暗号となっているた
>>>> め、Viewを利用してわかりやすくしようとしています。
>>>> テーブル自体を変更できれば楽なのですが、今回手を加えないアプ
>>>> リケーションの方でマスタ系メンテナンスを行っているため、変更
>>>> できません。
>>>>
>>>> 回避手段としては、常にlocal側からJoinするか、OutsideSQLで可
>>>> 能ですので、必須ではありません。
>>>>
>>>> ですが、Viewでもテーブルと同じように利用できれば非常に有り難
>>>> いです。
>>>>
>>>> お忙しいところ申し訳ありませんが、ご検討お願いできないでしょ
>>>> うか。
>>>>
>>>>> 2008/7/30 西山 はじめ <[E-MAIL ADDRESS DELETED]>:
>>>>>> お世話になっております。西山と申します。
>>>>>>
>>>>>> dbflute_exampleを使用し、以下の設定を追加しました。
>>>>>>
>>>>>> Viewを作成し、以下のようなFKの設定をしましたが、ForeignTable
>>>>>> 側にload~メソッドが生成されません。
>>>>>> LocalTable側には、setup~メソッドが生成されています。
>>>>>>
>>>>>> # replace-schema
>>>>>>
>>>>>> CREATE VIEW MEMVER_VIEW AS
>>>>>> SELECT * FROM MEMBER;
>>>>>>
>>>>>> # additionalForeignKeyMap.dfprop
>>>>>>
>>>>>> ; FK_MEMVER_VIEW_LOGIN = map:{
>>>>>> ; localTableName = MEMBER_LOGIN ;
>>>>>> foreignTableName = MEMVER_VIEW
>>>>>> ; localColumnName = MEMBER_ID ; foreignColumnName =
>>>>>> MEMBER_ID
>>>>>> }
>>>>>>
>>>>>> 環境は以下のとおりです。
>>>>>>
>>>>>> DBFlute:0.7.6
>>>>>> DB:h2database
>>>>>> dbflute_example使用
>>>>>>
>>>>>> Viewでの制限でしょうか?
>>>>>> 以上よろしくお願いいたします。
>>>>>>
>>>>>>
>>>>>> --
>>>>>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>>>>> 株式会社フジミック システム開発センター ソフト開発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 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 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 メーリングリストの案内