【发布时间】:2021-09-18 18:46:32
【问题描述】:
我有用户节点并且彼此之间有联系关系。 user1 有两个联系人 user2 和 user3。现在我想从联系人中删除 user2。下面是一段关于联系人关系的代码sn-p。
@Node
public class User{
...Id and different properties
@Relationship(type = "CONTACT")
public Set<User> contacts = new HashSet<>();
}
现在,当我删除关系并保存节点时,它会显示以下消息:
WARN 38461 --- [nio-8080-exec-2] o.s.d.n.c.m.DefaultNeo4jIsNewStrategy : 具有指定 id 的 com.talkkia.api.entity.User 类的实例将始终被视为没有版本属性的新实例!
删除关系的代码在这里:
@Transactional
@Override
public String deleteContact(String mobile1, String mobile2) {
Optional<User> user1 = userRepository.findOneByMobile(mobile1);
Optional<User> user2 = userRepository.findOneByMobile(mobile2);
if(user1.get().getContacts().contains(user2.get())){
user1.get().getContacts().remove(user2.get());
System.out.println(user1.get().getContacts());
userRepository.save(user1.get());
return user2.get().getName() + " has been deleted from your contact.";
}
return user2.get().getName() + " can't be deleted from contact.";
}
【问题讨论】:
标签: spring spring-boot neo4j spring-data spring-data-neo4j