У меня есть приложение, работающее в стандартной среде App Engine, использующее Google Cloud Tools и платформу Datanucleus для доступа к данным.
Когда я запускаю это приложение в локальной среде, оно работает нормально, и когда я делаю Select с помощью OR или IN в предложении Where, оно без проблем возвращает регистры таблиц.
Теперь я хочу улучшить свое приложение и создать новое, используя Spring Boot, Spring Cloud GCP и локальный эмулятор Cloud 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" ...
Может ли эмулятор хранилища данных делать запросы с предложением OR или IN?
Есть ли способ сделать это по-другому?