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の仕様なのかは不明。
で、日付範囲で請求書(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の仕様なのかは不明。
ラベル: OpenJPA

0 件のコメント:
コメントを投稿
<< ホーム