如何为@NodeEntity 的属性 设置空值?

How to set the null value for a property of @NodeEntity?

我无法通过存储库将任何 属性 设置为 null。 例如,假设我有以下实体:

@NodeEntity
class User {
    private Long id;
    private String name;
}

如果这个实体已经存在于 name:"Victor" 的数据库中,那么如果我将这样保存它:

User savedUser = userRepository.save(user);

savedUser 的名称将是 null。但是在数据库中 name 属性 将是 Victor.

有什么想法,为什么?以及如何将 属性 设置为 null 值?


PS:似乎是关键点,为什么没有设置null,可以在EntityGraphMapper:

中找到
for (PropertyReader propertyReader : entityAccessStrategy.getPropertyReaders(classInfo)) {
    Object value = propertyReader.read(entity);
    if (value != null) {
        nodeBuilder.addProperty(propertyReader.propertyName(), value);
    }
}

根本没有考虑到这些属性...开发人员应该怎么做?

请将您的 OGM 版本更新为 2.0.1 或将您的 SDN 版本更新为 4.1。1.RELEASE。

作为参考,有一个将属性设置为 null 的测试:https://github.com/neo4j/neo4j-ogm/blob/2.0/core/src/test/java/org/neo4j/ogm/persistence/examples/cineasts/annotated/CineastsIntegrationTest.java#L259