2016-07-28 48 views
0

弹簧数据的Neo4j:4.1.2
的Neo4j:3.0.3如何在使用Neo4jOperations.save()更新Spring Data Neo4j属性时忽略空值和空值?

节点:

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"} 

问:盖财产已被删除,因为p.cover为空。更新时有没有办法可以忽略空值?

回答

3

不,这在SDN中不受支持。空值表示将该属性从底层图中删除。

尽管如此,您仍然可以编写自定义密码查询(如果这是您的主要使用案例,则会破坏SDN的目的)