更新Neo4j date-base与集合后的视图中的陈旧数据

时间:2017-08-31 10:04:24

标签: spring spring-mvc neo4j spring-data-neo4j

项目中包含的框架:Spring Boot,Spring Security,Spring Web,Neo4j,Tomcat等

使用此类自定义查询(作为参数的集合)更新Neo4j数据库时出现问题

@Query("START user=node({u}) SET user.authorities = {rightIds} RETURN user") 

User putRolesByArray(@Param("u")User user, @Param("rightIds") List<String> rightIds);

在Spring打印输出查询结果(System.out.println)中,对象不返回任何更改。控制台没有错误。但是这里出现了一些问题,因为在Neo4j浏览器中我可以看到应用于User对象的正确更改,但是在运行时的Java部分中没有,如果在Java中重建项目更改对象是正确的。我发现第三个How to pass Collection Parameters to Repository Queries for Neo4J将螺栓更改为http驱动程序和螺栓驱动程序的版本从2.0.0更改为3.0.0。没有帮助。 Spring Securety?任何的想法?

1 个答案:

答案 0 :(得分:1)

这是定义和预期的行为。请参阅参考文档。

  

会话跟踪实体后,在同一会话范围内重新加载此实体将导致会话缓存返回先前加载的实体。

http://neo4j.com/docs/ogm-manual/current/reference/#reference:session:configuration

如果您想获得更新状态,则需要清除会话。

session.clear();