Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 休眠,从OneToMany列表获取用户_Java_Spring_Hibernate - Fatal编程技术网

Java 休眠,从OneToMany列表获取用户

Java 休眠,从OneToMany列表获取用户,java,spring,hibernate,Java,Spring,Hibernate,我必须编写一个方法,在该方法中,用户提交其应用程序的所有应用程序都将被返回,即当前登录的用户列在appliedBy列表中的那些应用程序 应用性 @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinColumn(name = "applied_by_id") private List<UserEntity> appliedBy; 此外,从上述绑定中提取信息后,我需要检查orderState枚举是否正确,

我必须编写一个方法,在该方法中,用户提交其应用程序的所有应用程序都将被返回,即当前登录的用户列在appliedBy列表中的那些应用程序

应用性

@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "applied_by_id")
private List<UserEntity> appliedBy;
此外,从上述绑定中提取信息后,我需要检查orderState枚举是否正确,即已交付或已完成

我试着这样做:

应用程序存储库

@Query("SELECT a FROM ApplicationEntity a join a.appliedBy u where u.id = :userId")
public List<ApplicationEntity> getUserApplications(@Param("userId") UUID userId);
应用服务

List<ApplicationEntity> application = applicationRepository.getUserApplications(user.getId());

application.stream().allMatch(us -> us.equals(OrderState.DELIVERED) || us.equals(OrderState.FINISHED));
但它不起作用:
有人知道如何让用户从appliedBy列表中退出吗?

@QuerySELECT*来自ApplicationEntity a,其中a.applied_by_id=:{userId},nativeQuery=true
列表getUserApplications@ParamuserId长用户标识

您可以使用以下查询:

@Query("SELECT a FROM ApplicationEntity a WHERE a.appliedBy.id = :userID)
你不需要加入

@Query("SELECT a FROM ApplicationEntity a WHERE a.appliedBy.id = :userID)