问题标签 [criteriaquery]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何使用 SELECT MAX() 将这个特定的 JPQL 查询重写为 CriteriaQuery?
我对 JPA 很陌生,在理解一个特定查询时遇到了问题。我已重写 CriteriaQuery,但结果和转换为 SQL 的查询不正确。
背景情况:我有一个存储交易(移动)表,存储中的当前金额定义为所有更改的总和。现在我想选择并显示最后的移动,因为它们还包含有关存储结果数量的信息。
所以,这是 JPQL 中的查询:
我尝试将其重写为以下 CriteriaQuery:
产生的错误 SQL 查询如下:
我不明白为什么子查询中有双重交叉连接。感谢您的帮助!
java - 没有反向关系的多态 CriteriaQuery
我有以下 EJB 结构。不要怀疑Animal
and Inventory
,这些类在这里只是为了以简化的方式演示结构(更新:我已经修改了类名以构建一个更好理解的示例。IdTag
可能是 a 的另一个实现BarcodeId
)。IdTag
请注意,与Animal
或没有反比关系Inventory
,我们假设RfidTag.code
是唯一的。我阅读了 Retrieving Polymorphic Hibernate Objects Using a Criteria Query和Hibernate polymorphic query但这些讨论似乎没有回答我的问题。
现在我想查询给定Animal
的likeInventory
RfidTag.code
Animal ejb = bean.fEntityWithRfidTag(Animal.class,"myRfIdCode");
不幸的是,我收到以下错误:
我假设这与继承有关IdTag
->RfidTag
并且Animal
只知道IdTag
而不是RfidTag.code
. 这样的查询可能吗?
java - 为什么这个 Hibernate Criteria Query 失败并显示“没有明确的选择并且没有确定一个隐式的冷”?
我有一个名为 Bucket 的实体,我正在尝试构建一个条件查询以确定是否存在存储的“名称”属性等于“Bucket_1”的存储桶。所以基本上它是一个存在查询。
Bucket 类没有什么特别之处,更简单是不可能的:
对于查询,这是我到目前为止所做的:
当我执行查询时,我在最后一行得到以下异常:
我进行了很多研究,但找不到任何有相同错误的人对其进行解释和/或修复。
我也尝试过这种方式:
但我得到了同样的例外。
有谁知道我为什么得到这个以及如何解决这个查询?
谢谢!!爱德华多
更新:
我已经能够使用以下方式构建查询:
这导致生成如下奇怪的 SQL:
我想困难的部分是让 select 1 ... 去,外部查询的结果是布尔值而不是匹配的实体。
我知道我得到了这个作品,我现在只是想学习如何“正确”地做到这一点,我相信有一种方法......
jpa - 从任意 JPA CriteriaQuery 获取结果计数
我有一个问题,我正在工作的层的代码接收 CriteriaQuery 对象。我几乎没有关于查询的其他信息(尽管我可以很好地猜测它应该返回的对象或对象列表的类型。)我需要做的是确定它将返回的项目数而不创建所有对象.
我想做的是 SELECT count(*) from ([SQL version of the CriteraQuery])
我试图创建一个新的 CriteriaQuery 并将 CriteriaQuery 参数用作子查询,但找不到这样做的方法。
我试图解析 CriteriaQuery 以构造一个正确的 count() 查询,但没有运气确定 where 子句的各个部分。
我找不到从 CriteriaQuery 生成的 TypedQuery 中检索 SQL 语句的方法。
因此,缺少以下内容:
无论如何确定将由 CriteriaQuery 返回的对象/行数?
这与在 JPA 2 中使用 CriteriaQuery 不同,如何计算结果 是因为该问题涉及构建 CriteriaQuery 的情况。在这种情况下,我们得到一个构造的 CriteriaQuery(例如 public int getCount(CriteriaQuery query))
jpa - 复杂的多对多 JPA CriteriaQuery
我有两个实体,Ablum 和 Image,它们之间存在多对多关系。我想做一个标准查询来获取所有专辑以及他们拥有多少张图片的计数。我不想先获取所有专辑然后循环结果以获取计数,因为会有很多 sql 请求。我已经工作了两个晚上,完全迷路了。如果找不到出路,也许我需要回退使用 SQL。
java - 通过使用动态列表使用 jpa 2.0 构建条件查询
使用 JPA 2.0 创建条件查询时我有点困惑。
先决条件:
我有一个 Gui,用户可以在其中标记一些(假设是)wheatherstations 的复选框,其中包含一些选项,如温度/风/时间段/等...
现在我想设置一个criteriaQuery 来从sql 数据库中只选择选定的项目并将其作为对象/映射/列表返回以构建一些DataModels(这将用于生成一些primefaces 图表)。
到目前为止我所拥有的:
criteriaBuilder、criteriaQuery 和映射类:
设置谓词:
运行查询并获取结果的最后一步:
在这一点上,我不知道用我的选择填充多选标准的最佳方法是什么。我想以某种动态方式将 List sel 中的所有项目/选择插入到 cq.multiselect() 中......
欢迎任何想法!
连接我的 WHERE 子句并执行查询:
以下是一个伪 SQL 查询来总结我想要实现的目标:
java - 条件查询,查找我不属于的所有组
我有两个实体,Group 和 GroupMember。组就像听起来是一个具有名称和其他一些属性的组。该组的成员与 GroupMember 实体映射,该实体具有一个用户条目和用户所属的每个组的组。它们如下所示:
我正在尝试编写一个条件查询,该查询返回具有一些预定义属性且当前用户不属于的所有组。我的查询如下所示:
这里的用户代表当前用户。此查询不起作用,因为如果有其他成员与我属于同一组,他们将由于加入而包含在查询结果中。正确的查询应该是什么样子?我对条件查询 API 还不是很熟悉。
java - JPQL 查询:选择一个布尔值,它是对象的两个字段的 AND
假设我有一个MyData
使用主标识符字段(BigDecimal
类型称为“primaryID”)和两个Boolean
字段称为“fieldA”和“fieldB”调用的 JPA 注释类。我想要做的是创建一个将为fieldA AND fieldB
给定MyData
实例选择的 JPA 查询。
当我entityManager
执行这个查询时,我得到:org.hibernate.hql.ast.QuerySyntaxException: unexpected AST node: and near line 1...
。这让我相信我需要一些不同的东西(除了builder.isTrue
方法)来指定我想要一个布尔值和我的对象的两个字段。关于我应该如何构建这个查询的任何想法?
hibernate - 具有奇异属性的 JPA 连接条件查询
我有 2 个这样的实体:
我需要做类似的事情
我需要 yJoin 因为我需要 JPA 标准这个多选:
我可以做吗?如果不可能,我能做些什么来解决这个问题,记住!我只需要 EntityX 中的“entityYId”而不是所有 entityY 元素。
谢谢!
hibernate - 将 Hibernate 标准查询转换为 JPA 2 标准查询
我有以下 Hibernate 3.x Criteria Query,我想将其转换为 Hibernate JPA 2.0 查询:
我尝试重新编写代码,如下所示:
但是 JPA 2 条件查询似乎不支持 CriteriaBuilder.ge(...) 方法来接受日期或日历作为输入参数,我的代码似乎从一开始就失败了。
我需要建议来保留和调整 Hibernate 会话标准的功能。