2016-09-01 10 views
1

Я использую плагин GraphAware Neo4j UUID. Если я создаю объект с помощью этого:Spring Data Neo4j метод сохранения репозитория возвращает null вместо свойства UUId

Entity createdEntity = repository.save(entity); 

то createdEntity.uuid свойство всегда будет null; но я вижу, что свойство uuid установлено в db.

Кроме того, если я буду использовать следующие перезагрузить объект:

Entity foundEntity = repository.findOne(id); 

имущество будет null снова.

Кажется, что сущность кэшируется весной, потому что, если я перезапущу приложение Spring, я смогу загрузить объект вместе с uuid, используя repository.findOne(id).

Мне нужно знать uuid сразу после создания сущности. Как я могу это достичь?

ответ

3

Свойства объекта кэшируются в текущем сеансе (верьте, что вы используете SDN 4.2.x?), Поэтому вам нужно перезагрузить новый сеанс. Это особенно верно для модификаций обработчиков событий, когда внесенные в них изменения не отражаются до тех пор, пока не будет выполнен отдельный вызов.

Смотрите http://docs.spring.io/spring-data/neo4j/docs/4.2.x/reference/html/#_design_consideration_session_caching для получения дополнительной информации

+0

Спасибо, Luanne! Очистка сеанса работает для моего дела. –