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

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2009年 4月 18日 (土) 15:29:17 JST


補足です

>> clipseLink関係についてのみ調査しましたが
>> member はEclipseLink個別ではなくJPQLの予約語ですので
>> 個人的には、JPQL中には使わないというのが第一の対処法ではないかと思います
>>     

JPQL の BNF 定義によれば

select _member from member _member
つまり
abtract_schema_name として "member" を使うことは legal です
EclipseLink も当然受け付けます。

参考資料: http://edocs.bea.com/kodo/docs41/full/html/ejb3_langref.html
10.2.2 のあたりとか

_member の部分 identification_variable の名前には
予約語が使えない。 "_", "$" を含めて良いといった規則があります

同上 10.2.3.1

ですので、例えば

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

select _member from member _member
とか
select $member from member $member
とかにしてほしいわけです

--
tomo.




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