spring-data-neo4j:4.1.2
neo4j:3.03
节点:
Person {id:1, name:"aa", cover:"1.jpg"}
类别:
@NodeEntity
public class Person{
@GraphId
private Long id;
private String name;
private String cover;
...
}
新对象:
Person p = new Person();
p.setId(1);
p.setName("bb");
然后更新数据:
p = neo4jOperations.save(p,0);
或:
personRepo.save(p,0); // interface extends GraphRepository<Person>
结果:
Person {id:1, name:"bb"}
问题:cover属性已被删除,因为p.cover为null。有没有一种方法可以在更新时忽略null值?
否,SDN不支持此操作。空值表示属性已从基础图中删除。
不过,您仍然可以编写自定义密码查询(如果这是您的主要用例,这将违背SDN的目的)