古いデータベース システムを Salesforce に変換しようとしていて、Database.com Java SDK を試してみることにしました。
最近、NULL または空の日付を検索するときに JPQL クエリに関連する回避策が見つからないという問題に遭遇しました。
例えば
select t from table where t.expiryDate is NULL or t.expiryDate = :today
これにより、次の例外が発生します。
Caused by: [InvalidFieldFault [ApiQueryFault [ApiFault exceptionCode='INVALID_FIELD' exceptionMessage='
from Table__c p where (( p.Expiry_Date__c = 'NULL' ) OR (
^
ERROR at Row:1:Column:158
value of filter criterion for field 'Expiry_Date__c' must be of type date and should not be enclosed in quotes'
]
row='1'
column='158'
]
]
NULL を文字列に変換する必要があるとは思わないため、これは SDK のベータ版リリースのバグであると想定していますが、それ以外の場合はお知らせください。また、回避策を知っている人はいますか?