Java 在@query注释中传递动态创建的查询(根据条件)
我正在使用@Query注释在spring存储库中执行查询。 但我想更改某个部分或根据条件进行新查询,并传入@query(“根据条件在此处传递查询”) 这是我的问题Java 在@query注释中传递动态创建的查询(根据条件),java,spring,jpa,spring-data,spring-repositories,Java,Spring,Jpa,Spring Data,Spring Repositories,我正在使用@Query注释在spring存储库中执行查询。 但我想更改某个部分或根据条件进行新查询,并传入@query(“根据条件在此处传递查询”) 这是我的问题 @Query("SELECT ds.symptom FROM DoctorSymptomsModel ds where ds.doctorId = :doctorId and ds.isMostUsed = :isMostUsed) 如果某些条件满足,则在查询中指定“ORDER BY createdDate”部分 或 我可以创
@Query("SELECT ds.symptom FROM DoctorSymptomsModel ds where ds.doctorId = :doctorId and ds.isMostUsed = :isMostUsed)
如果某些条件满足,则在查询中指定“ORDER BY createdDate”部分
或
我可以创建变量并在该变量中设置查询吗
String query = SELECT ds.symptom FROM DoctorSymptomsModel ds where
ds.doctorId = :doctorId and ds.isMostUsed = :isMostUsed
if(result){
query = SELECT ds.symptom FROM DoctorSymptomsModel ds where ds.doctorId =
:doctorId and ds.isMostUsed = :isMostUsed ORDER BY createdDate
}
//pass the query variable here
@Query(query)
List<String> findDoctorSymptomsModelList(@Param("doctorId") long doctorId,
@Param("isMostUsed") boolean isMostUsed);
String query=从DoctorSymptomsModel ds中选择ds.symptom,其中
ds.doctorId=:doctorId和ds.isMostUsed=:isMostUsed
如果(结果){
query=从DoctorSymptomsModel ds中选择ds.symptom,其中ds.doctorId=
:doctorId和ds.isMostUsed=:isMostUsed按createdDate排序
}
//在此处传递查询变量
@查询(查询)
List findDoctorSymptomsModelList(@Param(“doctorId”)长doctorId,
@参数(“isMostUsed”)布尔值(isMostUsed);
要进行动态查询,您应该考虑CriteriaQuery。请看这篇文章以作简要介绍。我也在寻找你的想法是否可行。我有一个想法要回答,但我会在某个时候回答,对不起