【发布时间】:2020-06-14 19:28:54
【问题描述】:
我正在尝试获取具有状态为 '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”。
【问题讨论】:
-
您能否通过一些例子详细说明反对合同的内容。
-
您好,感谢您的评论。我将编辑文本
-
我认为您可以使用 JPA Criteria API 或 Spring Data JPA
Specification按条件构建查询,这是类型安全且更灵活(可能看起来有点复杂)。
标签: java spring java-8 spring-data-jpa spring-data