[Seasar-user:17277] Re: [Kuina-Dao] JpqlUtil#toDefaultIdentificationVariable の仕様

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2009年 4月 18日 (土) 21:00:26 JST


小林 (koichik) です.

Date:    Sat, 18 Apr 2009 15:29:17 +0900
From:    [E-MAIL ADDRESS DELETED]
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:17276] Re: [Kuina-Dao] JpqlUtil#toDefaultIdentificationVariable の仕様

> Memberエンティティ・クラスについて Kuina-Kao がインターフェースメソッド
> List<Member> findAll()
> について自動生成する JPQL を JpqlUtil#toDefaultIdentificationVariable
> でクラス単純名がMemberで合った場合に "member" として identification_variable
> を生成するのではなく、"_"とか"$"を頭に付けて
> 
> select _member from member _member
> とか
> select $member from member $member
> とかにしてほしいわけです

修正して SNAPSHOT をデプロイしたのでご確認ください.

http://maven.seasar.org/maven2-snapshot/org/seasar/kuina/kuina-dao/1.0.3-SNAPSHOT/kuina-dao-1.0.3-20090418.113209-1.jar

全ての identification_variable に "_" を付けると

http://kuina.seasar.org/ja/user_guide/query.html#条件式による検索

や Criteria API を使ってる場合に互換性が保てない
(Kuina-Dao の it でも 2 割近いテストが失敗する) ので,
JPQL の予約語と被っている場合のみ末尾に "_" を
付けるようにしました.
その方法自体もカスタマイズできるようにしました.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



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