Я работаю с Spring Data Neo4j 4 и следующие объекта пользователяEntity все еще можно найти после удаления
@NodeEntity
public class User{
private Long id;
private String username;
//Getter, Setter
}
Использование Neo4j GraphRepository, я сначала создать пользователя в одной транзакции, а затем удалить его во второй транзакции. Работа с автономным сервером Neo4j на localhost: 7474 Я не получаю никакого результата при запуске «MATCH (n) return n», но когда я запускаю метод findOne (Long id) GraphRepository, используя идентификатор пользователя, который я только что удалил, i получить пользователя, я просто удалил возвращенный. Есть ли какое-то поведение, которое я не понимаю?
С уважением Urr4
Edit: Мой класс приложения
@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("/.../);
}
}
Если вы все еще в той же транзакции она все равно может быть в вашей сессии. Вы настраиваете свой сеанс как действительный для каждого запроса? –
Так что это может быть ваша локальная копия в сеансе, но не в фактической таблице данных. Можете ли вы попробовать с 4.1.RC1, если поведение такое же? –
Можете ли вы поделиться простым тестом для этого? – Luanne