#neo4j #wildfly
#neo4j #дикая муха
Вопрос:
Ниже приведен запрос и исключение, с которыми я сталкиваюсь, используя Neo4j на сервере Wildfly:
1:08:29,088 INFO [org.neo4j.ogm.drivers.bolt.request.BoltRequest] (default task-64) Request: match( root:EntityNode {modelId :'7b18b9b0-f77f-4957-b973-957ee421bead' , workspaceId : '8a08ecfc562102390156214405360000'}) OPTIONAL MATCH(root)-[r:HAS_ASSOCIATION]->(m) return root,r,m with params {}
11:08:32,146 ERROR [org.springframework.boot.context.web.ErrorPageFilter] (default task-64) Forwarding to error page from request [/resource/erDiagramXML/7b18b9b0-f77f-4957-b973-957ee421bead] due to exception [Scalar response queries must only return one column. Make sure your cypher query only returns one item.]
Однако то же самое работает на встроенном сервере tomcat в приложении spring boot. Кто-нибудь может помочь?
Комментарии:
1. Как вы выполняете этот запрос?
2. Ниже приведена строка кода EntityQuery = «сопоставление (entity:EntityNode {ModelID : ‘» ModelID «‘, workspaceId: ‘» containerId «‘}) -[отношение: СОДЕРЖИТ] — (root) » » возвращаемый объект, root «; Итеративный <EntityNode> результирующий набор =сеанс. запрос (getNodeClass(), EntityQuery, Collections.emptyMap());
Ответ №1:
В исключении указано, что вы должны вернуть один столбец (из-за способа выполнения запроса):
Запросы со скалярным ответом должны возвращать только один столбец. Убедитесь, что ваш запрос cypher возвращает только один элемент.
в то время как ваш запрос возвращает 3:
return root,r,m
Я не думаю, что это имеет какое-либо отношение к контейнеру, в котором запущено приложение, но все связано с фактическими выполняемыми запросами.