[seasar-dotnet:1420] Re: 外部キーに区分値を使用する

Tatsuya Yakuwa [E-MAIL ADDRESS DELETED]
2009年 8月 1日 (土) 13:29:02 JST


八鍬です。

久保様、回答ありがとうございます。

> fixedConditionのBind変数機能は利用せずに、固定でGenderであることを指定したいけど、
> 「0008」というコードがclassificationDefinitionMap上と二手に分かれてしまうので、
> fixedConditionの記述の中でclassificationDefinitionMap上のコードを抽象的に
> 参照したいということですね???
おっしゃる通りです。

> 申し訳ありませんが現状、そういう機能は用意されていません。
> 例えば、/*$cls(CodeSb.Gender)*/というように書くと、classificationDefinitionMap上の
> CodeSb区分値のGenderのcode値が展開されるとかであれば良いですかね!?
そうですね。

個人的には、ソース自動生成時に強制的にコードそのものとして解釈するものが
あると便利だと考えてます。
Javascriptのeval()のようなニュアンスです。

参照するdll(Jar)に定数を定義して、
$$foreignAlias$$.codesb_cd = /*EVAL(hogeDllName.hogeClass.constAAAA)*/
みたいなことができたら、fixedConditionがより便利になる気がします。
引数にした場合、コーダーに定義すみの定数を使わせる場合は、
間違えないが起こらないともかぎらないので。。。

今回は、
$$foreignAlias$$.codesb_cd = /*CodeSbGender(String)*/Null
の方法で、実装したいと思います。

> これは、「区分値を識別する区分値(CDef.CodeSb)」ということですね?
そうなります。わかりにくい例で、すいませんでした。

以上です。
ありがとうございました。


On Sat, 01 Aug 2009 12:53:19 +0900, kubo <[E-MAIL ADDRESS DELETED]> wrote:

> 久保(jflute)です。
>
>>> $$foreignAlias$$.codesb_cd =  
>>> CDef.CodeSb.Gender.Code(正しく動作しません。)
>>> として、CDef.CodeSb.Gender.Codeを参照するような記述は可能でしょうか??
>> すいません「CDef.CodeSb.Gender.Codeを参照するような記述」というのが
>> 具体的にどういうものをイメージされていますでしょうか?
>
> fixedConditionのBind変数機能は利用せずに、固定でGenderであることを指定したいけど、
> 「0008」というコードがclassificationDefinitionMap上と二手に分かれてしまうので、
> fixedConditionの記述の中でclassificationDefinitionMap上のコードを抽象的に
> 参照したいということですね???
>
> 申し訳ありませんが現状、そういう機能は用意されていません。
> 例えば、/*$cls(CodeSb.Gender)*/というように書くと、classificationDefinitionMap上の
> CodeSb区分値のGenderのcode値が展開されるとかであれば良いですかね!?
>
>>> CDef.CodeSb.Gender.Code
>> ちなみにclassificaitonDefinitionってどんな感じで定義されていますか?
>> 恐らく「CDef.Gender.Femail.Code」という感じになるはずですが...
> これは、「区分値を識別する区分値(CDef.CodeSb)」ということですね?
> ということなら、自分が勘違いしましたので気にしないで下さい。
>
> 2009/8/1 kubo <[E-MAIL ADDRESS DELETED]>:
>> 久保(jflute)です。
>>
>> 八鍬さん、こんにちは
>>
>>> $$foreignAlias$$.codesb_cd =  
>>> CDef.CodeSb.Gender.Code(正しく動作しません。)
>>> として、CDef.CodeSb.Gender.Codeを参照するような記述は可能でしょうか??
>> すいません「CDef.CodeSb.Gender.Codeを参照するような記述」というのが
>> 具体的にどういうものをイメージされていますでしょうか?
>>
>>> $$foreignAlias$$.codesb_cd = /*CodeSbGender(String)*/Null
>> と書いた場合は、SetupSelect_ComCodeAsValidGender()メソッドの
>> 引数が「String CodeSbGender」になるので、
>> プログラムからは、
>> cb.SetupSelect_ComCodeAsValidGender(CDef.CodeSb.Gender.Code);
>> というように指定して下さい。
>>
>>> $$foreignAlias$$.codesb_cd =  
>>> CDef.CodeSb.Gender.Code(正しく動作しません。)
>> とは書けないですね。そこはSQLの部分なのでその記述は解決されません。
>> あえて書くなら
>> 「$$foreignAlias$$.codesb_cd = /*CodeSbGender(CDef.CodeSb.Gender)*/」
>> という感じかもしれませんが、実行時に指定されたClassificationの
>> Code値を使うようには解決されないような気がします。
>>
>>> CDef.CodeSb.Gender.Code
>> ちなみにclassificaitonDefinitionってどんな感じで定義されていますか?
>> 恐らく「CDef.Gender.Femail.Code」という感じになるはずですが...
>>
>> 2009/8/1 Tatsuya Yakuwa <[E-MAIL ADDRESS DELETED]>:
>>> お世話になっております。
>>> 八鍬(やくわ)と申します。
>>>
>>> DbFluteのadditionalForeignKeyについて、おたずねしたいのですが。。。
>>>
>>> fixedConditionにおいて、引数を定義する箇所で、
>>> classificationDefinitionで定義した区分値を参照する記述は可能でしょうか?
>>>
>>> /*
>>> #additionalForeignKey
>>> ...
>>>        ; FK_Pre_Member_Info_Com_Code_Gender = map:{
>>>            ; localTableName  = Pre_Member_Info ; foreignTableName =  
>>> Com_Code
>>>            ; localColumnName = gender_cd ; foreignColumnName = code_val
>>>         ; fixedCondition =
>>>     $$foreignAlias$$.codesb_cd = /*CodeSbGender(String)*/Null
>>>     #$$foreignAlias$$.codesb_cd = '0008'
>>>            ; fixedSuffix = AsValidGender
>>>        }
>>> */
>>> (CDef.CodeSb.Gender.Codeについては、classificationDefinitionで定義済です。)
>>>
>>> 上記の
>>> $$foreignAlias$$.codesb_cd = /*CodeSbGender(String)*/Null
>>>>>> $$foreignAlias$$.codesb_cd =  
>>> CDef.CodeSb.Gender.Code(正しく動作しません。)
>>> として、CDef.CodeSb.Gender.Codeを参照するような記述は可能でしょうか??
>>>
>>> 以上です。
>>> よろしくお願いします。
>>>
>>> --
>>> 八鍬 達也
>>> _______________________________________________
>>> seasar-dotnet mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>>
>>
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
> __________ Information from ESET NOD32 Antivirus, version of virus  
> signature database 4295 (20090731) __________
>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>



-- 
*----**===**----**===**----**===**----**===**----*
  株式会社 エム・エス・アイ
     システム部 八鍬 達也
 Add:山形市松栄1-5-7
 Tel:023-647-3966 Fax:023-647-3967
   E-mail:[E-MAIL ADDRESS DELETED]
   ☆ ★ ☆    社員ブログ更新中!!!    ☆ ★ ☆
 http://www.msi-net.co.jp/blog/index.html
*----**===**----**===**----**===**----**===**----*


seasar-dotnet メーリングリストの案内