当使用Neo4joOperations.save()用Spring数据Neo4j更新属性时,如何忽略null和空值?

当使用Neo4joOperations.save()用Spring数据Neo4j更新属性时,如何忽略null和空值?,neo4j,spring-data-neo4j-4,neo4j-ogm,Neo4j,Spring Data Neo4j 4,Neo4j Ogm,spring-data-neo4j:4.1.2 neo4j:3.0.3 节点: 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.setI

spring-data-neo4j:4.1.2
neo4j:3.0.3

节点:

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);
或:


问题:cover属性已被删除,因为p.cover为空。是否有一种方法可以在更新时忽略空值?

否,SDN不支持这种方法。空值表示从基础图形中删除该属性


尽管如此,您仍然可以编写自定义密码查询(如果这是您的主要用例,这将违背SDN的目的)

否,SDN不支持此操作。空值表示从基础图中删除属性

尽管如此,您仍然可以编写自定义密码查询(如果这是您的主要用例,那么这将违背SDN的目的)

personRepo.save(p,0); // interface extends GraphRepository<Person>
Person {id:1, name:"bb"}