Spring 实体被删除后仍然可以找到
我正在使用SpringDataNeo4J4,并拥有以下用户实体Spring 实体被删除后仍然可以找到,spring,neo4j,spring-data-neo4j-4,Spring,Neo4j,Spring Data Neo4j 4,我正在使用SpringDataNeo4J4,并拥有以下用户实体 @NodeEntity public class User{ private Long id; private String username; //Getter, Setter } 使用Neo4j GraphResposition,我首先在一个事务中创建用户,然后在第二个事务中删除他。 在localhost:7474上使用独立的Neo4j服务器时,我在运行“MATCH(n)return n”时没有得到任何结果,但
@NodeEntity
public class User{
private Long id;
private String username;
//Getter, Setter
}
使用Neo4j GraphResposition,我首先在一个事务中创建用户,然后在第二个事务中删除他。
在localhost:7474上使用独立的Neo4j服务器时,我在运行“MATCH(n)return n”时没有得到任何结果,但当我使用刚刚删除的用户id运行GraphResposition的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("/.../);
}
}
在Michaels发表评论后,我在谷歌上搜索了一下,并在我的控制器中添加了以下内容:
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = RuntimeException.class)
之后它工作了-谢谢大家:)如果您仍在同一事务中,它可能仍在您的会话中。您是否将会话配置为每个请求都有效?因此它可能只是会话中的本地副本,而不是实际数据库中的副本。如果行为相同,您可以尝试使用4.1.RC1吗?您可以为此共享一个简单的测试吗?我不知道,我可以为每个请求配置有效的会话als。我假设事务是围绕每个Bean方法包装的,就像JavaEE中一样。我将添加我的应用程序类。Luane:只需添加一个UserRepository,用我使用的用户扩展GraphRespository。使用repo.save、repo.delete、repo.findOne和ID