доступ к свойствам в @RelationshipEntiry в Spring data Neo4j

#java #spring #spring-data-neo4j

#java #весна #spring-data-neo4j

Вопрос:

Я использую весенние данные для Neo4j. Первоначальный дизайн модели выглядит следующим образом:

 @NodeEntity
public class User extends Neo4JBaseNode {
    @RelatedToVia(type = "HAS_DEVICE", elementClass = UserDevice.class, direction =       Direction.OUTGOING)  
    private List<Device> devices;
    .... ommited setters,getters
}



@NodeEntity
public class Device extends Neo4JBaseNode {
    private String type;
    private String manufacturer;
    private String model;
    private String os;
    .... ommited setters,getters
}

@RelationshipEntity(type = "HAS_DEVICE")
public class UserDevice {
   @StartNode
   private User user;
   @EndNode
   private Device device;
   private String deviceToken;
}
  

Мне нужно иметь «deviceToken», когда пользователь извлекается из базы данных, но я не знаю, как я могу этого добиться.
Любая помощь приветствуется.

Ответ №1:

Возможно, используйте @RelatedToVia для ввода пользовательских устройств, а не устройств, убедитесь, что вы @извлекаете его (если требуется), и тогда у вас будет доступ к свойствам отношения, а также к свойствам сущности. Т.Е. Обычно вы либо используете

 @RelatedTo
Set<Device> ... (if you don't care about the relationship properties)
  

или

 @RelatedToVia
Set<UserDevice> ... (if you care about the relationship as well as the end nodes)