2016-03-03 2 views
0

Там. Я использую sdn4 с Java 8.SDN 4, удалять кеш при удалении связанного объекта

Я делаю это отношение

Owner -Has- truck. 

и удалять грузовик с помощью truckReposity (расширяет GraphRepository).
Если проверка грузовика удалена в брошюре Neo4j, она удаляется.

, но для запуска веб-приложения все еще есть грузовик.

owner.removeTruck(truck); 
ownerRepository.save(owner); 
truckRepositry.delete(truck); 

Я пользуюсь этими кодами. Могу ли я удалить грузовик с другим отношением?

+0

Если вы удалитеTruck (грузовик) правильно удаляет ссылки от владельца и грузовика, то при использовании repository.delete не требуется очистка кэша. Если это так, пожалуйста, откройте проблему на https://jira.spring.io/browse/DATAGRAPH с помощью тестового примера/примера кода, спасибо! – Luanne

ответ

0

Для удаления кэша SDN можно использовать neo4jTemplate.clear(); или session.clear()

Помимо формы, что, я думаю, что это из-за «Mapping смарт-объект», который владелец еще имеет отношение к грузовику. Если вы снова попросите владельца, после того, как вы удалили грузовик из neo4j, его следует убрать.

+0

session.clear должен требоваться только тогда, когда сущность или отношение удаляется через пользовательский запрос. Пока ссылки на объекты удаляются, использование репозитория или удаления сеанса должно работать должным образом – Luanne