Имейте простую структуру, подобную этой.Каков правильный способ обновления графика, содержащего удаление узлов по данным весны neo4j?
@Data
public class DomainObject {
@GraphId
protected Long id;
public String createdBy;
public Date createdTS;
public String lstModBy;
public Date lstModTS;
}
@NodeEntity(label = "StepDef")
@Data
public class StepDef extends DomainObject{
private String name;
private String type;
private String catCode;
private String impClass;
private String scope;
@Relationship(type = "PROPERTY_OF" = Relationship.INCOMING)
private List<StepDefProperty> properties;
}
@NodeEntity(label = "StepDefProperty")
@Data
public class StepDefProperty extends DomainObject{
private String key;
private String value;
private String type;
private String lookupKey;
}
Когда я пытаюсь добавить объекты StepDefProperty к списку свойств и использовать stepRepo.save (stepDef) он сохраняет идеально, как ожидается, наряду с отношениями.
Вопрос заключается при удалении одного из узла свойств. Поэтому, если я удалю один из узлов свойств из списка и использую repo.save (stepDef), узел свойства не будет удален. Я думал, что это может быть связано с непоследовательной сессией. Итак, я попытался сделать stepRepo.findOne (stepDef.getId()) перед выполнением repo.save (stepDef) Теперь это устраняет взаимосвязь между узлами, однако узел свойств все еще присутствует в базе данных как сирота, тогда как ожидаемый узел свойства вместе с удаляемой связью. Каков правильный способ делать обновления через весенние данные neo4j?
Помогает ли вам [этот вопрос] (http://stackoverflow.com/questions/30130275/spring-data-neo4j-remove-nodeentity-and-all-referenced-nodes/40136479#40136479)? – troig