2016-04-17 2 views
0

Я не могу установить любое свойство в null через репозиторий. Например, предположим, что у меня есть следующий объект:Как установить значение null для свойства @NodeEntity?

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

Если этот объект уже существует в БД с name:"Victor", то если я спасу его, как это:

User savedUser = userRepository.save(user); 

savedUser будет null как имя. Но в db свойство name будет Victor.

Любые мысли, почему так? И как установить свойство в значение null?


PS: Похоже, ключевой момент, почему null «s не установлены, могут быть найдены в EntityGraphMapper:

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

Такие свойства просто не принимаются во внимание .. Что должны делать разработчики?

+1

Какую версию вы используете? См. Https://github.com/neo4j/neo4j-ogm/blob/2.0/core/src/test/java/org/neo4j/ogm/persistence/examples/cineasts/annotated/CineastsIntegrationTest.java#L259, который проходит. Вы делаете что-то другое? – Luanne

+0

Я использую SDN4.1.0M1. Это приводит к использованию OGM 2.0.0-M02. Я делаю то же самое, но через репозиторий. –

+1

Можете ли вы попробовать OGM 2.0.1? org.neo4j Neo4j-ОГМ-ядро 2.0.1 Luanne

ответ

Смежные вопросы