2013-09-19 2 views
0

Я пытаюсь удалить все Type из моей базы данных Neo4j. У меня есть репозиторий для класса Type, typeRepository, который я называю typeRepository.deleteAll();. Однако не все удалено. Удаляется только его узел, оставив в базе данных BusinessLogic узел. Я не уверен, что еще нужно попробовать на этом этапе, поскольку это имя метода подразумевает, что оно удалит все вещи, включая себя и вещи, связанные с самим собой. Вот как мой сохранялось класс выглядит, который расширяет базовый тип объекта, который моя база данных содержит:Удаление узла и всех его отношений в Neo4j

@NodeEntity 
public class BaseType { 

    @GraphId 
    private Long id; 

    @Indexed(unique=true) String uid; 
    private String name; 

    BaseType() {} 

    BaseType(String name) { 
     this.name = name; 
    } 
} 

,

public class Type extends BaseType { 

    @RelatedTo(type="businessLogic") 
    @Fetch 
    private BusinessLogic businessLogic; 

    public Type() {super();} 

    public Type(String name, BusinessLogic businessLogic) { 
     super(name); 
     this.businessLogic = businessLogic; 
    } 
} 

,

@NodeEntity 
@XmlAccessorType(XmlAccessType.NONE) 
public class BusinessLogic implements Serializable { 

    @GraphId 
    private Long id; 

    private static final long serialVersionUID = -634875134095817304L; 

    @XmlElement 
    private String create; 

    public void setCreate(String create) { 
     this.create = create; 
    } 

    public String getCreate() { 
     return create; 
    } 
} 

Я только хранить Type экземпляров, и я делаю это, позвонив по телефону

typeRepository.save(new Type(name, businessLogic));.

ответ

0

Я не думаю, что SDN делает каскадное удаление самостоятельно. Итак, почему бы вам не сначала удалить объекты BusinessLogic через их соответствующий репозиторий, а затем объекты типа?

+0

У меня нет репозитория BusinessLogic. –

+0

просто делайте это где-то вне классов домена, например, в сервисе, контроллере или объекте репозитория и введите Neo4jTemplate для операций. –

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