Я пытаюсь получить все сущности для совпадения полей данного отношения (я хочу, чтобы отношения моего лица были заполнены в результате).Попытка с помощью Filter в session.loadAll () отфильтровать поле отношения, но я не могу заставить его работать.
Определение моего объекта выглядит так:
@NodeEntity
class ClockAction {
@Id @GeneratedValue
private Long id;
private String description
private User user;
private Office office;
}
@NodeEntity
class User {
@Id @GeneratedValue
private Long id;
private String name;
private List<ClockAction> clockActions;
}
@NodeEntity
class Office {
@Id @GeneratedValue
private Long id;
private String name;
private List<ClockAction> clockActions;
}
Исходя из этого янужно получить все объекты ClockAction, где User.id находится в заданном наборе идентификаторов.
Вот моя попытка:
Filter filter = Filter("id", ComparisonOperator.IN, userIds);
filter.setNestedPropertyName("user");
filter.setNestedPropertyType(User.class);
filter.setNestedRelationshipEntity(true);
return session.loadAll(ClockAction.class, filter);
Это всегда возвращает пустой результат.Любая идея о том, что я делаю неправильно?
Использование подобного запроса session.query
session.query(ClockAction.class, "MATCH p=(a:ClockAction)-[r]-() WHERE id(r) IN {ids} RETURN nodes(p), rels(p), a, r ORDER BY a.id", params)
работает, но в результирующем объекте заполняется только служебное поле ClockAction, пользователь всегдаnull ...
Любая помощь приветствуется:)