2014-12-20 5 views
0

Neo4j에 유지하려고하는 일부 권한이있는 역할 노드가 있습니다. 개체를 만들면 권한이 있다는 것을 알지만 저장 호출 후에는 사라집니다.노드가 Neo4j에 지속되지 않음

여기 내 역할 노드의 :

@NodeEntity 
public class Role { 

    @GraphId Long id; 
    private RoleType roleType; 

    //@RelatedToVia(type="HAS_ROLE", direction=Direction.OUTGOING) 
    private List<Person> users; 

    private List<Privilege> defaultPrivileges; 
    //private List<Task> tasks; 


    public Role(){} 

    public Role(RoleType roleType){ 
     this.roleType=roleType; 
     this.defaultPrivileges=roleType.getDefaultPrivileges(); 
    } 

} 

여기 내 저장 :

admin= roleRepository.save(admin); 

를 내가 완전히 채우고는 비어 이후 개체를 저장하기 전에. 그 이유에 대한 아이디어가 없습니다

EDIT : 문제를 일으키는 코드는 내 권한 클래스에 있습니다.

이 작동하지 않습니다

public class Privilege { 

    private String name; 

    public Privilege(PrivilegeType pt) { 
     this.name = pt.name(); 
    } 
} 

이 작동 :

public class Privilege { 

    private String name; 

    public Privilege(String pt) { 
     this.name = pt; 
    } 
} 

은 왜 그것을 유지하지 않는 원인이 될 것인가? RoleRepository에서 누락 된 부분은 무엇입니까?

답변

1

엔티티를 저장 한 후 엔티티를 다시로드하며, 기본적으로 관련된 정보의 얕은 복사본 만로드합니다.

template.fetch(role.users) 또는 template.fetch(role.tasks) 을 사용하거나 예를 들어 작업 목록에 @Fetch를 추가 할 수 있습니다.

+0

네, 이것이 문제였습니다. – Dan

관련 문제