java - 查询具有特定条件的 Spring DATA
问题描述
我正在尝试获取具有状态为'CA'或'CCR'的合同列表的帐户,我尝试了下面的查询并且它有效。
问题是我想在我的查询中添加一个条件,以获取具有不同类型的相反合同的帐户。
两个相反的合同是两个不同类型的合同。(一份合约H,另一份合约A)
支持的类型是:家庭保险和汽车保险(H和A)。
@Query("select a from Account a full join a.contracts c join c.refStatusContract r where a.id=:id AND r.cdStatutContrat in ('CA','CCR')")
Account getAccountHavingContractStatusActifOrInProcessOfTermination(@Param("id") long id);
我的需要:
我想检查是否存在两个附加到我的数据库中的帐户的合同,其中两个合同是反对的,并且合同授权状态是“CA”或“CCR”。
解决方案
不确定我是否正确理解了您的问题
因此,您需要以下帐户:
- 拥有状态为“CA”或“CCR”的合同
- 至少有 2 份合同,一份为 H 型,另一份为 A 型
这是你需要的吗?
@Query("select a
from Account a
full join a.contracts c
join c.refStatusContract r
where a.id=:id
AND r.cdStatutContrat in ('CA','CCR')
AND c.contractType in ('H', 'A')
GROUP BY a
having count(distinct c.contractType) > 1")
Account getAccountHavingContractStatusActifOrInProcessOfTermination(@Param("id") long id);
这是你需要的吗?
推荐阅读
- android - Asynctask 不适用于实时数据库
- scala - 如何从进料器中获取随机值以在加特林的标头中使用
- javascript - 点击显示灯箱
- active-directory - Powershell 导入导出的文件
- firebase - 仅将项目成员添加到 Firebase(而不是整个 Google Cloud)
- android - Xamarin Forms Custom TabbedRenderer 移除 Android 上的 TabLayout
- react-native - Redux persist 不存储任何数据以供离线使用
- c - 尝试 if "?:" 条件块可以更简单
- symfony - 我在 symfony 4 ton enable Easy Admin Bundle 中找不到文件夹和文件 app/appkernel.php
- bash - SuiteCRM - 修复文件权限