Java 搜索空日期字段时database.com JPQL查询异常

Java 搜索空日期字段时database.com JPQL查询异常,java,database,salesforce,database-com,database-com-sdk,Java,Database,Salesforce,Database Com,Database Com Sdk,我正在尝试将一个旧的数据库系统转换为Salesforce,并决定试用database.com Java SDK 我最近遇到了一个问题,在搜索空日期或空日期时,我似乎找不到与JPQL查询相关的解决方法 例如 这会导致以下异常: Caused by: [InvalidFieldFault [ApiQueryFault [ApiFault exceptionCode='INVALID_FIELD' exceptionMessage=' from Table__c p where (( p.Expi

我正在尝试将一个旧的数据库系统转换为Salesforce,并决定试用database.com Java SDK

我最近遇到了一个问题,在搜索空日期或空日期时,我似乎找不到与JPQL查询相关的解决方法

例如

这会导致以下异常:

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'
]
]

我假设这是SDK测试版中的一个bug,因为我不认为它应该将NULL转换为字符串,但请告诉我其他情况,或者有人知道解决方法吗?

只是猜测,您是否尝试过使用t.expiryDate=NULL?值得一试,但不,这也不起作用。我还尝试用替换null,并将其作为一个命名参数传递,该参数告诉我它预期为null。对于他们的测试来说,这似乎是一个严重的错误,人们可能会认为date is null应该出现在测试中。打开票证?它到soql的转换似乎有一个bug,正确的soql应该是p.expiry\u date\u c=null,这很好,我已经将此传递给Java SDK团队。我为此创建了一个问题:。我们将尽快查看它。只是猜测一下,您是否尝试使用t.expiryDate=NULL?值得一试,但不,这也不起作用。我还尝试用替换null,并将其作为一个命名参数传递,该参数告诉我它预期为null。对于他们的测试来说,这似乎是一个严重的错误,人们可能会认为date is null应该出现在测试中。打开票证?它到soql的转换似乎有一个bug,正确的soql应该是p.expiry\u date\u c=null,这很好,我已经将此传递给Java SDK团队。我为此创建了一个问题:。我们会尽快看一看。
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'
]
]