Как создать динамический зашифрованный запрос в SDN 5.x, аналогично Neo4jOperations в 4.x - PullRequest
0 голосов
/ 28 апреля 2019

Я пытаюсь реализовать решение с использованием SDN, которое было нацелено на создание динамического шифра, в котором моя метка будет отличаться от типа ввода (n типов) независимо от свойств узла.

Надеясь на решение, похожее на упомянутоепо этой ссылке мне поможет. Можно ли динамически создать запрос шифрования neo4j с использованием шаблона GraphRepository

Я нашел следующую информацию в примечаниях к выпуску.

Устаревание Neo4jTemplate Настоятельно рекомендуется для пользователейзапуск новых проектов SDN для непосредственного использования сеанса OGM.Neo4jTemplate был сохранен для улучшения работы пользователей.

Neo4jTemplate был значительно уменьшен для SDN 4. Он содержит те же методы, что и Session.На самом деле Neo4jTemplate - это просто очень тонкая оболочка с возможностью поддержки SDN Exception Translation.Многие из операций больше не нужны или могут быть выражены с помощью простого запроса Cypher.

Если вы используете Neo4jTemplate, вам следует кодировать его интерфейс Neo4jOperations вместо класса шаблона.

В следующей таблице показаны функции Neo4jTemplate, которые были сохранены для версии 4 Spring Data Neo4j.В некоторых случаях имена методов изменились, но в новой версии предлагаются те же функциональные возможности.

Чтобы достичь прежнего эквивалентного поведения template.fetch (entity), вы должны вызвать один из методов загрузки, указывающий глубину выборки.в качестве параметра.

Стоит также отметить, что Cypher сделал устаревшими методы exec (GraphCallback) и create ... ().Вместо этого вы должны теперь выполнить запрос Cypher для нового метода execute, чтобы создать нужные вам узлы или отношения.

Динамические метки, свойства и типы отношений не поддерживаются, начиная с этой версии, следует учитывать расширения серверавместо этого.

по этой ссылке https://docs.spring.io/spring-data/neo4j/docs/5.0.0.RELEASE/reference/html/

Может ли кто-нибудь помочь мне в достижении эквивалентного решения в SDN 5.X

Спасибо !!!

1 Ответ

0 голосов
/ 18 июля 2019

Я воспользовался советом использовать сеанс непосредственно вместо механизма Neo4jOperations.

@Autowired 
SessionFactory sessionFactory

public void doCustomQuery() {
    Session session = sessionFactory.openSession();
    Iterable<NodeEntity> nodes = session.query(NodeEntity.class, "MATCH (n) RETURN n", params);
}
...