моя структура выглядит следующим образом:
компания -> наличие набора пользователей -> у каждого пользователя есть набор политик -> каждая политика предназначена для компании.
примерная структура графа:
u1 <- c1 -> u2
p1 -> c1
u1 -> p1
Компания (c1) имеет двух пользователей (u1, u2), а политика (p1) принадлежит компании (c1). «u1» принял политику (p1). "u2" не имеет политики.
Когда я пытаюсь загрузить u2 методом loadByProperty, ожидаемым должен быть объект User2 и соответствующая компания (c1).
Но политика (p1) также загружается и устанавливается в объект «u2».
Структура класса;
Company{
Stirng companyName;
@Relationship(type = "hasUsers", direction = Relationship.OUTGOING)
List<User> users;
}
User{
Stirng userName;
@Relationship(type = "hasPolicy", direction = Relationship.OUTGOING)
List<Policy> policies;
}
Policy{
String policyName;
@Relationship(type = "forCompany", direction = Relationship.OUTGOING)
Company company;
}
Способ получения пользователя:
public User getUser(String userName) {
Property<String, Object> properties = new Property<String, Object("userName", userName);
Set<User> users = (Set<User>) session.loadByProperty(User.class, properties);
if (users != null && !users.isEmpty())
for (User user : users)
return user;
return null;
}
Использование SDN 4 (версия вехи).
Какие-либо предложения? Спасибо заранее.