gpt4 book ai didi

java - Criteria API 使用复杂的 where 子句创建查询

转载 作者:行者123 更新时间:2023-12-01 16:46:08 24 4
gpt4 key购买 nike

有人可以建议我如何使用 Criteria API 编写此查询吗?

SELECT CM.REL AS GROUP_ID, COUNT(DISTINCT C.ID) AS IDS_FOUND
FROM PROBLEMS C
INNER JOIN PROBLEMS.ITEM CM
ON C.ID = CM.PROBLEM_ID
WHERE (
CM.REL IS NOT NULL AND CM.REL = 'FF' AND C.ID NOT IN
(SELECT DISTINCT C.ID
FROM PROBLEMS C
INNER JOIN PROBLEMS.ITEM CM
ON C.ID = CM.PROBLEM_ID
WHERE CM.REL IS NOT NULL AND CM.REL = 'RR')
OR
(CM.REL IS NOT NULL AND CM.REL = 'RR')
)
GROUP BY CM.REL

最佳答案

JPQL 和 Criteria API 更好地限制为简单的 CRUD。例如,您的“服务”层组件可能想要查找一堆相关实体并与之交互,操作和保存状态。 JPQL/Criteria API/find() 更适合这种性质的用例。

如果您希望使用复杂查询(典型的报告和演示要求)提取数据,您可能需要考虑在 SQL 查询或 View 上使用 @Immutable 和 @Subselect。

关于java - Criteria API 使用复杂的 where 子句创建查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61775206/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com