Мне нужно написать метод, в котором будут возвращены все приложения, в которых пользователь отправляет свое приложение, т. Е. Те, в которых зарегистрированный в данный момент пользователь указан в списке applyBy.
ApplicationEntity
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "applied_by_id")
private List<UserEntity> appliedBy;
UserEntity
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "user_app_id")
private ApplicationEntity user_applications;
Кроме того, после извлечения информации из вышеприведенных привязок мне нужно проверить, что перечисление orderState является правильным, то есть DELIVERED или FINISHED.
Я пытаюсь сделать это следующим образом:
ApplicationRepository
@Query("SELECT a FROM ApplicationEntity a join a.appliedBy u where u.id = :userId")
public List<ApplicationEntity> getUserApplications(@Param("userId") UUID userId);
ApplicationService
List<ApplicationEntity> application = applicationRepository.getUserApplications(user.getId());
application.stream().allMatch(us -> us.equals(OrderState.DELIVERED) || us.equals(OrderState.FINISHED));
Но это не работает :( У кого-нибудь есть представление о том, как мы может вытащить пользователя из List <UserEntity> appliedBy
?