Когда я использую запросы из имен методов с интеграцией ArangoDb и Spring Data, я всегда получаю пустые списки. В чем проблема в том, как я использую? Это пример.
Это сущности:
Авторизация:
@Document("authorizations")
@Data // (Lombok)
public class Authorization {
@Id
private String id;
private String caption;
@Relations(edges = com.picktur.server.relations.UserAuthorized.class, lazy = true)
private User user;
}
Пользователь:
@Document("users")
@Data @NoArgsConstructor // (Lombok)
public class User {
@Id
private String id;
private String username;
@Relations(edges = com.picktur.server.relations.UserAuthorized.class, lazy = true)
private Collection<Authorization> authorizations;
}
Репозиторий авторизации:
public interface AuthorizationRepo extends ArangoRepository<Authorization, String> {
Iterable<Authorization> findAllByUser(User user);
}
Граница между пользователем и авторизацией:
@Edge
@Data
public class UserAuthorized {
@Id
private String id;
@From
private User user;
@To
private Authorization authorization;
public UserAuthorized( User user, Authorization authorization) {
this.authorizedPhoto = user;
this.authorization = authorization;
}
}
Репозиторий для UserAuthorized Egde:
public interface UserAuthorizedRepo extends ArangoRepository<UserAuthorized, String> {
}
Данные Журналы постоянства c:
User user = get_user_from_security_context();
Authorization authorization = new Authorization();
authorization.setUser(user);
...
authorization = authorizationRepo.save(authorization);
UserAuthorized userAuthorized = new UserAuthorized(user, authorization);
userAuthorizedRepo.save(userAuthorized);
Запрос с пустым результатом:
Iterable<Authorization> authorizations = authorizationRepo.findAllByUser(user);
Все документы и ребра существуют в БД, но результат пуст.