Фон
Мое приложение весенних данных neo4j выдает ошибки шифрования.
Это странно, потому что я использую neo ogm для управления всеми своими операторами cyper, я сам не писал никаких шифров.
Вот мои ошибки:
Ошибка шифрования в выводе CLI
Error executing Cypher "Neo.ClientError.Statement.SyntaxError"; Code: Neo.ClientError.Statement.SyntaxError; Description: Invalid input '|': expected whitespace, comment, a relationship pattern, '.', node labels, '[', "=~", IN, STARTS, ENDS, CONTAINS, IS, '^', '*', '/', '%', '+', '-', '=', "<>", "!=", '<', '>', "<=", ">=", AND, XOR, OR, ',' or ']...
Ошибка OGM в выводе CLI после ошибки шифрования
...nested exception is org.neo4j.ogm.exception.CypherException: Error executing Cypher \"Neo.ClientError.Statement.SyntaxError\"; Code: Neo.ClientError.Statement.SyntaxError; Description: Invalid input '|': expected whitespace, comment, a relationship pattern, '...
Ошибка определения места в моем коде, где возникла ошибка (GenericService)
...myproject.service.GenericService.find(GenericService.java:39) ~[classes/:na]...
Строка 39 GenericService
Optional<T> object = getRepository().findById(id, depth);
Где я застрял
findById
объявлен в springframework.data.neo4j.repository.Neo4jRepository.java как Optional<T> findById(ID id, int depth);
Недавно я начал использовать neo4jrepository вместо graphrepository, так как перешел на данные Spring neo4j 5.0.0.
Итак, я думаю, что нашел проблему в коде, но это не мой код, это библиотека, но я не могу поверить, что самый последний OGM neo4j был выпущен с ошибкой в функции findById
.
Вопрос
Как мне обойти эту ошибку шифра? Откуда может исходить эта проблема?
ОБНОВЛЕНИЕ 1
Я использую neo4j-ogm-версию 3.0.0, spring-boot 2.0.0.M3, Neo4J 3.2.3 и spring-data-neo4j 5.0.0.RELEASE,
ОБНОВЛЕНИЕ 2
Может быть, мой идентификатор создан как Long
, тогда как Neo4jRepository.java имеет экземпляр ID
?
ДОПОЛНИТЕЛЬНЫЙ КОНТЕКСТ в GenericService.java
public T find(Long id) {
Optional<T> object = getRepository().findById(id, DEPTH_ENTITY);
if(object.isPresent())
return object.get();
return null;
}
ОБНОВЛЕНИЕ 3
springframework.data.neo4j.repository.Neo4jRepository.java содержит
@NoRepositoryBean
public interface Neo4jRepository<T, ID extends Serializable> extends PagingAndSortingRepository<T, ID> {
<S extends T> S save(S s, int depth);
<S extends T> Iterable<S> save(Iterable<S> entities, int depth);
Optional<T> findById(ID id, int depth);
Iterable<T> findAll();
Iterable<T> findAll(int depth);
Iterable<T> findAll(Sort sort);
Iterable<T> findAll(Sort sort, int depth);
Iterable<T> findAllById(Iterable<ID> ids);
Iterable<T> findAllById(Iterable<ID> ids, int depth);
Iterable<T> findAllById(Iterable<ID> ids, Sort sort);
Iterable<T> findAllById(Iterable<ID> ids, Sort sort, int depth);
/**
* Returns a {@link Page} of entities meeting the paging restriction provided in the {@code Pageable} object.
* {@link Page#getTotalPages()} returns an estimation of the total number of pages and should not be relied upon for accuracy.
*
* @param pageable
* @return a page of entities
*/
Page<T> findAll(Pageable pageable);
/**
* Returns a {@link Page} of entities meeting the paging restriction provided in the {@code Pageable} object.
* {@link Page#getTotalPages()} returns an estimation of the total number of pages and should not be relied upon for accuracy.
*
* @param pageable
* @param depth
* @return a page of entities
*/
Page<T> findAll(Pageable pageable, int depth);
}
public static final int DEPTH_ENTITY = 1;
. Я добавил код файла репо в ОБНОВЛЕНИИ 3. - person Rorschach   schedule 09.10.2017