删除后仍可以找到实体

时间:2016-03-25 16:40:54

标签: spring neo4j spring-data-neo4j-4

我正在使用Spring Data Neo4j 4并拥有以下用户实体

@NodeEntity
public class User{

  private Long id;
  private String username;

  //Getter, Setter
}

使用Neo4j GraphRepository,我首先在一个事务中创建用户,然后在第二个事务中删除他。 使用localhost上的独立Neo4j服务器:7474我在运行“MATCH(n)return n”时没有结果但是当我使用我刚刚删除的用户的id运行GraphRepository的findOne(Long id)方法时,我得到了用户,我刚刚删除了返回。 我不明白是否涉及某种行为?

此致 Urr4

编辑: 我的申请类

@SpringBootApplication(scanBasePackages = {/.../})
@EnableNeo4jRepositories(basePackages = {/.../})
@EnableTransactionManagement
public class MyApplication extends Neo4jConfiguration {

  public static void main(String[] args) {
    SpringApplication.run(TSApplication.class, args);
  }

  @Override
  @Bean
  public Neo4jServer neo4jServer() {
      return new RemoteServer(/.../);
  }

  @Override
  @Bean
  public SessionFactory getSessionFactory() {
     return new SessionFactory("/.../);
  }

}

1 个答案:

答案 0 :(得分:0)

在迈克尔斯评论之后,我用谷歌搜索了一下,并将以下内容添加到我的控制器中:

@Transactional(propagation = Propagation.REQUIRED, rollbackFor = RuntimeException.class)

之后它有效 - 谢谢大家:)