Функция grails3 findAllByIdInList выдает "org.postgresql.util.PSQLException: ОШИБКА: синтаксическая ошибка в или около") "", когда входной массив пуст - PullRequest
0 голосов
/ 29 сентября 2018

grails3 Функция findAllByIdInList выдает "org.postgresql.util.PSQLException: ОШИБКА: синтаксическая ошибка в или рядом с") "", когда входной массив пуст

Я работаю над проектом, используя

  • Grails Версия: 3.3.5
  • Groovy Версия: 2.4.15
  • Версия JVM: 1.8.0_181
  • Gradle 3.5
  • compile'org.grails.plugins: postgresql-extensions: 6.0.0'

ошибка

Domain.findAllByIdInList ([])

Причина: org.hibernateИсключениеhibernate.engine.jdbc.spi.SqlExceptionHelper.convert (SqlExceptionHelper.java:111) в org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert (SqlExceptionHelper.java:97) в org.hibernate.ingine.j.ResultSetReturnImpl.extract (ResultSetReturnImpl.java:79) в org.hibernate.loader.Loader.getResultSet (Loader.java:2122) в org.hibernate.loader.Loader.executeQueryStatement (Loader.java:190iber) в орг..Loader.executeQueryStatement (Loader.java:1881) в org.hibernate.loader.Loader.doQuery (Loader.java:925) в org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections (Loader.javag: hh).loader.Loader.doList (Loader.java:2622) в org.hibernate.loader.Loader.doList (Loader.java:2605) в org.hibernate.loader.Loader.listIgnoreQueryCache (Loader.java:2434) в org.hibernate.loader.Loader.list (Loader.java:2429) в org.hibernate.loader.criteria.CriteriaLoader.list (CriteriaLoader.java:109) в org.hibernate.internal.SessionImpl.list (SessionImpl.java:1787) вorg.hibernate.internal.CriteriaImpl.list (CriteriaImpl.java:363) в org.grails.orm.hibernate.query.AbstractHibernateQuery.listForCriteria (AbstractHibernateQuery.java:719) в org.grails.orm.hibernate.query.Abstractry.list (AbstractHibernateQuery.java:709) в org.grails.datastore.gorm.finders.FindAllByFinder.invokeQuery (FindAllByFinder.java:54) в org.grails.datastore.gorm.finders.FindAllByFinder $ 1.doInBession.ind.Session (: 48) в org.grails.datastore.mapping.core.DatastoreUtils.execute (DatastoreUtils.java:319) в org.grails.datastore.gorm.finders.AbstractFinder.execute (AbstractFinder.java:42) в org.grails.datastore.gorm.finders.FindAllByFinder.doInvokeInternal (FindAllByFinder.java:45) в org.grails.datastore.gorm.finders.DynamicFinder.invoke (DynamicFinder.java:254) в org.grails.datastore.gorm.finders.DynamicFinder.invoke (DynamicFinder.java:392) в org.grails.datastore.gorm.GormStaticApi $ _methodMissing_closure2.doCall (GormStaticApi.groovy: 181) в com.sinosonar.rbac.relation.RoleResourceRelationController) ... 14 общих кадров пропущено

Причина: org.postgresql.util.PSQLException: ОШИБКА: синтаксическая ошибка в or рядом с позицией ")": 241 в org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse (QueryExecutorImpl.java:2455) в org.postgresql.core.v3.QueryExecutorImpl.processResults: QuerExqec..core.v3.QueryExecutorImpl.execute (QueryExecutorImpl.java:288) в org.postgresql.jdbc.PgStatement.executeInternal (PgStatement.java:430) в org.postgresql.jdbc.PgStatement.extate (exement) .exeorg.java: 70) ... пропущено 37 общих кадров

вопрос

  • это разумно, когда ввод пустой массив, исключение выбросить функция find?
  • это ошибка драйвера postgres? Я пытаюсь запустить этот код в h2 памяти дБ, он работает нормально.
...