2007-06-30

OpenJPA: JPQLでパラメータプレースホルダに使ってはいけない言葉

日付範囲を指定するUIを作って、開始日を from 終了日を to という名前にした。
で、日付範囲で請求書(Invoice)を抽出する
select i from Invoice i where i.date between :from and :to order by i.date'
みたいなJPQLを発行しようとしたら

org.apache.openjpa.kernel.jpql.ParseException: Encountered "i . date between : from" at character 31, but expected: ...

というようなエラーになった。
パラメータのプレースホルダに予約語を使うとこうなるらしい。というわけで、:frmとか:fro にして回避する。

JPQLの仕様なのか OpenJPAの仕様なのかは不明。

ラベル:

0 件のコメント:

コメントを投稿

<< ホーム