首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编写Spring规范来过滤无关的表

编写Spring规范来过滤无关的表
EN

Stack Overflow用户
提问于 2021-01-26 22:30:39
回答 1查看 438关注 0票数 1

我正在从事一个使用JHipster生成的Spring和Java项目。我想在桌子上过滤与他人没有直接关系的东西。

我的目的几乎是在之前的一个类似问题中被问到的。

Write Spring Specification with multiple inner join & other conditions

但在我的例子中,我有两个不相关的实体:

顾问 (id : Long,FullName : string,profileRank : Enum of string )

等级 (id : Long,level : Enum of string,rate : Double )

代码语言:javascript
复制
 Consultant                         |        Rank
                                    | 
id | FullName | profileRank         |        id | level    | rate      
1  | aaaaa    | 'ONE'               |        1  | 'ONE'    | 1
2  | bbbbbb   | 'THREE'             |        2  | 'TWO'    | 2
3  | cccccc   | 'FOUR'              |        3  | 'THREE'  | 3
4  | dddddd   | 'THREE'             |        4  | 'FOUR'   | 4

我想使用级别rate筛选顾问列表

例如:找费率大于3的顾问

代码语言:javascript
复制
Expected result  
id | FullName | profileRank      
3  | cccccc   | 'FOUR'    

我在文档和许多文章中搜索过,但没有让它工作,请告诉我如何做到这一点。

EN

回答 1

Stack Overflow用户

发布于 2021-01-26 22:42:19

您不需要为您的情况编写规范。

  1. 获取所有级别和等级,
  2. 过滤这些值,并且只保留大于3的值(步骤1和2可以合并)。结果将是一个只包含rank
  3. list.stream(rank => rank.level).collect(toList())
  4. The的List<Rank>,步骤3的结果将传递给像List<Consultant> findByProfileRankIn(List<String> levelNames)

这样的存储库方法。

另一种选择是加入类似于这个Joining tables without relation using JPA criteria的东西

如果你还想要一个规范,那也是可能的。Spring Data Join with Specifications

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65910226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档