criteria 相关问题

ORM框架的典型机制,允许以动态和面向对象的方式创建对数据库的查询。使用Criteria编写查询时,使用API​​而不是使用定义的语言(SQL)编写查询。

whit 标准构建器谁在 postgresql 上的键数组中查找键

大家好,感谢您花时间回答我。 在我的工作中,我想实现一种在 id 数组中查找一个 id 的方法 我尝试重现这样的东西,但是在 java hibernate + criter 中...

回答 1 投票 0

已经注册了一个副本:org.hibernate.query.sqm.tree.select.SqmSubQuery。下面的代码出现此错误,如何修复它

public static Long getRows(final EntityManager em, Final CriteriaQuery criteria) { 最终 CriteriaBuilder cb = em.getCriteriaBuilder(); 最终标准查询 public static<T> Long getRows(final EntityManager em, final CriteriaQuery<T> criteria) { final CriteriaBuilder cb = em.getCriteriaBuilder(); final CriteriaQuery<Long> countCriteria = cb.createQuery(Long.class); final Root<T> root = countCriteria.from(cb.getResultType()); countCriteria.select(cb.count(root)); for(final Root<?> rootObj: criteria.getRoots()){ countCriteria.getRoots().add(rootObj); } final Predicate whereRes = criteria.getRestriction(); if(whereRes != null){ countCriteria.where(whereRes); } final Predicate groupRes = criteria.getGroupRestriction(); if(groupRes != null){ countCriteria.having(groupRes); } countCriteria.groupBy(criteria.getGroupList()); countCriteria.distinct(criteria.isDistinct()); return em.createQuery(countCriteria).getSingleResult(); } } 在上面函数的最后一行升级到 Spring Boot 3、Hibernate 6 后,我在代码中遇到了这个问题。请推荐。TIA 按照这个方法就可以了 ublic Long count() { var countBuilder = (HibernateCriteriaBuilder) builder; //CriteriaBuilder from class level var countQuery = countBuilder.createQuery(Long.class); var subQuery = countQuery.subquery(Tuple.class); var sqmSubQuery = (SqmSubQuery<Tuple>) subQuery; var sqmOriginalQuery = (SqmSelectStatement) query; // CriteriaQuery from class level var sqmOriginalQuerySpec = sqmOriginalQuery.getQuerySpec(); var sqmSubQuerySpec = sqmOriginalQuerySpec.copy(SqmCopyContext.simpleContext()); sqmSubQuery.setQueryPart(sqmSubQuerySpec); Root<?> subQuerySelectRoot = subQuery.getRoots().iterator().next(); sqmSubQuery.multiselect(subQuerySelectRoot.get("id").alias("id")); countQuery.multiselect(countBuilder.count(countBuilder.literal(1))); countQuery.from(sqmSubQuery.distinct(true).orderBy(builder.asc(subQuerySelectRoot.get("id")))); return entityManager.createQuery(countQuery).getSingleResult(); } 或 研究 这篇文章https://hibernate.atlassian.net/browse/HHH-17410 UPD 我对以前的版本有奇怪的问题(有时它尝试从另一个请求表请求对象),所以现在看起来像: public Long count(CriteriaBuilder builder, CriteriaQuery query) { var countBuilder = (HibernateCriteriaBuilder) builder; var countQuery = countBuilder.createQuery(Long.class); var subQuery = countQuery.subquery(Tuple.class); var sqmSubQuery = (SqmSubQuery<Tuple>) subQuery; var sqmOriginalQuery = (SqmSelectStatement) query; var sqmOriginalQuerySpec = sqmOriginalQuery.getQuerySpec(); var sqmSubQuerySpec = sqmOriginalQuerySpec.copy(SqmCopyContext.simpleContext()); sqmSubQuery.setQueryPart(sqmSubQuerySpec); Root<?> subQuerySelectRoot = subQuery.getRoots().iterator().next(); sqmSubQuery.multiselect(subQuerySelectRoot.get("id").alias("id")); countQuery.multiselect(countBuilder.count(countBuilder.literal(1))); countQuery.from(sqmSubQuery.distinct(true).orderBy(builder.asc(subQuerySelectRoot.get("id")))); return entityManager.createQuery(countQuery).getSingleResult(); } 我正在尝试实现上述内容 countQuery.from(sqmSubQuery.distinct(true).orderBy(builder.asc(subQuerySelectRoot.get(“id”)))); 我收到错误: 无法解析方法“from(org.hibernate.query.criteria.JpaSubQuery)” 知道如何解决这个问题吗? 感谢你的帮助。谢谢!

回答 2 投票 0

从列中选择数据并创建报告

在此处输入图像描述我想创建一个报告,需要从 A 列、B 列、C 列中选择一些数据并将它们插入到 F 列中。我附上报告的一部分作为示例,我...

回答 2 投票 0

寻找Excel公式来根据多个条件计算重复项

我正在处理大量数据(超过 15000 行)。下面的示例是我正在处理的数据的一个非常简化的版本。 我正在尝试统计 2023 年和 2021 年分别出现了多少个 ID,bas...

回答 1 投票 0

MongoDB Spring 字段间数据对比

我试图简单地在我的字段之间进行比较,但它似乎不适用于 spring 数据: query.addCriteria(Criteria.where("active").gt("limit")); 活动和限制是我的 2 个字段

回答 4 投票 0

CriteriaBuilder 无法解析方法“greaterThan(int, int)”

我正在形成一个查询,将数据库结果与 API 请求数据进行比较,但出现以下错误: 无法解析方法“greaterThan(int, int)”。 我的代码如下所示。 2 是com...

回答 1 投票 0

Grails - 标准构建器 - createCriteria

场景是这样的: 每个进程都有多个处理步骤 我编写的代码能够获取所有进程,而无需与ProcessingSteps相对应。 我知道我是

回答 1 投票 0


带有数组聚合的 CriteriaQuery

我想对自定义数据访问类执行查询。不幸的是我被困在中途了。 类用户{ 私人长ID 私有字符串名称 私人 Set 组 ... } 班级组...

回答 1 投票 0

如何测试非常复杂的 Criteria API 逻辑?

我构建了非常复杂的 100 多行查询、连接和谓词代码,如果满足某些条件等,就会添加这些代码。 简而言之,我现在必须测试所有这些,并且我已经创建了......

回答 1 投票 0

使用休眠标准,有没有办法转义特殊字符?

对于这个问题,我们希望避免编写特殊的查询,因为查询在多个数据库中必须是不同的。仅使用休眠标准,我们希望能够逃脱

回答 6 投票 0

如何正确地将带有“where”子句的 JPQL“join fetch”表达为 JPA 2 CriteriaQuery?

考虑以下 JPQL 查询: 从 Foo 中选择 foo INNER JOIN FETCH foo.bar 酒吧 哪里 bar.baz = :baz 我正在尝试将其转换为条件查询。据我所知,这是: 瓦...

回答 3 投票 0

使用 Hibernate 的标准和投影来选择多个不同的列

使用 Hibernate 的 Criteria,我想执行相当于: 选择不同的 uspscity,从 citycomplete 中选择州,其中 USPSCITY = 'HOUSTON' 我认为执行以下操作会产生我的结果

回答 1 投票 0

VBA 将数据复制到另一张表(如果尚未在表中)

我对VBA很陌生。 我的编码当前将报告从一张纸(Rufus Unal)复制到另一张纸(UTM Unal Cash Report),我希望它只复制另一张纸上没有的数据。使用

回答 1 投票 0

使用 Criteria API 进行算术日期运算

我想使用 Criteria API 进行日期算术运算。例如,在 Postgres 中我可以编写如下查询: 从约会 a 中选择 * 其中 a.date + 间隔 '2 天' > '2022-10-21...

回答 1 投票 0

JPA Criteria API 性能问题 JBoss 7.4

我在 JBoss EAP 7.4.9 上使用 JPA Criteria API,因为我必须根据 GUI 上应用的过滤器动态生成不同的 SQL。 到目前为止,这种方法已经奏效,但在添加了几个

回答 1 投票 0

Hibernate 标准使用 GROUP BY 和 RETURN ENTITY LIST

我正在尝试在我的标准中使用 GROUP BY 。我需要这样做: SELECT b FROM Book b GROUP BY VolumeCode; 我有以下代码: 标准 c = s.createCriteria(Book.class); c.setProjection(

回答 3 投票 0

JPA CriteriaQuery 中不需要的交叉联接在子查询中选择

当我在子查询中进行选择时,我得到了我认为不必要的交叉连接,这会损害性能。我正在使用 Postgres,如果这有什么区别的话。 我的目标是生成以下内容...

回答 2 投票 0

根据标准选择观察结果

我有一个包含观察值(行)和变量(列)的数据框。我现在想要创建满足特定标准的观察子集。相关变量均以“incl_”开头,

回答 1 投票 0

如何根据字典的多个值和一个键对包含字典的嵌套列表进行排序?

这是我的简单作业脚本的结果: 因此,我想按第一分、第二胜以及是否相等按球队名称的字母顺序对主列表进行排序。还有...

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.