我有一个在 App Engine 标准环境中运行的应用程序,它使用 Google Cloud Tools 和 Datanucleus 框架来访问数据。
当我在本地环境中运行此应用程序时,它可以正常工作,并且当我在 Where 子句中使用 OR 或 IN 进行 Select 时,它会毫无问题地返回表的寄存器。
现在,我想改进我的应用程序并使用 Spring Boot、Spring Cloud GCP 和本地 Cloud Datastore Emulator 创建一个新应用程序。当我尝试对 Datastore Emulator 进行查询时,它可以正常工作,但是当查询具有 IN 或 OR 时,模拟器会记录和错误。
查询是:
@Query(value = "SELECT * FROM Evento WHERE fincaId = @id_finca AND tipoEvento = 3 OR tipoEvento = 4")
和错误文本:
[datastore] INFORMACI?N: Exception when handling request: INVALID_ARGUMENT: Encountered "OR" at line 1, column 68.
[datastore] Was expecting one of:
[datastore] <EOF>
[datastore] "and" ...
[datastore] "group" ...
[datastore] "limit" ...
[datastore] "offset" ...
[datastore] "order" ...
Datastore Emulator 可以使用 OR 或 IN 子句进行查询吗?
有没有办法以不同的方式做到这一点?