我无法通过存储库将任何属性设置为null。 例如,假设我有以下实体:
@NodeEntity
class User {
private Long id;
private String name;
}
如果这个实体已经存在于name:"Victor"
的数据库中,那么如果我将它保存为:
User savedUser = userRepository.save(user);
savedUser
将null
作为名称。但在db中,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);
}
}
这些属性根本没有考虑在内......开发人员应该做些什么?
答案 0 :(得分:1)
请将您的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