2014-12-20 6 views
0

У меня есть узел Role, который содержит некоторые привилегии, которые я пытаюсь сохранить в Neo4j. Когда я создаю объект, я вижу, что существуют привилегии, но после вызова сохранения они исчезают.Узел не сохраняется до Neo4j

Вот моя роль Node:

@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: Код, вызывающий проблему, относится к моему классу Privilege.

Это не работает:

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

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