问题标签 [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.

0 投票
1 回答
4304 浏览

hibernate - 为什么 JPA CriteriaQuery 不提供更新查询?

JPA2.0 中的 CriteriaQuery 提供了一种类型安全的选择方式,非常棒。但我想知道为什么它不提供更新/删除操作?要批量更新/删除,您必须回退到旧时编写容易出错的 SQL 或 JPQL 文本。IMO,更新/删除的 CriteriaQuery 不应该被证明是困难的,因为 where 原因处理与 select 相同。

希望这将在 JPA 的下一个版本中实现。

0 投票
1 回答
13080 浏览

java - jpa条件查询获取列表中的重复值

当使用条件查询获取列表属性时,我正在观察我认为 JPA 2 中的意外行为。

我的查询如下(摘录):

(假设我正在获取一个列表作为对象属性的属性。)

问题是当查询返回多个结果时, secondFetch 值的重复次数与返回的行数一样多。每个firstFetch应该只有一个secondFetch但有n代替。在这种情况下,我看到的唯一特殊性是所有 MainObjects恰好具有相同的 FirstFetch 实例。所以我的猜测是连接被交叉,这是正常的,但是 JPA 无法将其secondFetch对象分配给每个firstFetchs

映射不应该太特别,或多或少是这样的

& 最后

我一直在寻找某种不同的句子来应用于 fetch 但没有(无论如何都会是一个“补丁”......)

如果我改变

为了

多亏了 Sets' Keys,我会得到预期的结果,所以我确实觉得这是 JPA 列表中的一种不当行为。

不过,我不是专家,所以我很可能在映射或查询中犯了一些错误。非常欢迎任何反馈来帮助解决这个问题。谢谢。

0 投票
2 回答
363 浏览

java - JPA CriteriaQuery 需要 begin() 和 commit() 吗?

关于 JPA 的基于 CriteriaQuery 的查询,我有一个简单的问题要问?我在 Java EE 示例 (http://docs.oracle.com/javaee/6/tutorial/doc/giqsq.html) 中注意到

不使用。

结果,这些操作在进行查询时是否由 CriteriaQuery 隐式处理?

0 投票
2 回答
1362 浏览

java - JPQL Criteria Query Play Framework 1x Inner Join And Where 子句构造

我被困在试图在 JPA 中构建以下 SQL 查询(对于 Java 和 JPA 来说还是新手,我搜索了很多,但仍然没有得到它,抱歉,如果这是一个菜鸟问题)。

JPQL 查询几乎可以满足我的需求并且可以工作

Sentence 和 Word 都是类 SentenceWord 是 Sentence 和 Word 之间的 ManyToMany 连接。所以 s.words 是一个属于一个句子的列表。s.Date 是一个 Import 对象,用于存储导入的东西数据:date 是我们要匹配的单个 Import。:words 是我们要在句子中检查的单词的列表。

此查询对 IN 运算符工作得很好。

然而,我们现在需要检查一个句子是否包含我们正在传递的列表中的所有单词(我们从 s.words 列表中组装)。

现在我只是使用字符串生成器和 FOR EACH 循环手动构建 WHERE AND 子句,并将它们附加到字符串和使用查询。它可以工作,但它超级丑陋并且看似反Javay,我想以正确/类型安全的方式来做。

我找到了 CriteriaBuilder 和 CriteriaQuery 但只是无法让 INNER JOIN 工作。完全没有。可悲的是,这是在我 RTFM 之后。http://docs.jboss.org/hibernate/orm/4.0/hem/en-US/html/querycriteria.html#querycriteria-from-join

对于动态 WHERE AND 查询,据我所知

但这似乎都是错误的,我无法测试它,因为我无法加入。如果有人可以为我指出正确的方向,以获取有关简单人员联接和循环通过集合创建 AND 子句的 CriteriaQuery 教程,或者在此示例中写出正确的查询,我将非常感激!

更新 - 查询效率

替代的 JPQL 查询是:

JQPL 似乎需要 Group By,但对于 SQL 中的同一查询则不需要。我现在只有一个小数据集,所以两者都很快,但很好奇一个是否比另一个更受欢迎。

另外,我只是使用 Query 来设置参数,是否有更好的类用于这些?我更喜欢命名术语而不是?。

0 投票
1 回答
1252 浏览

java - 加入表后结果中的 EclipseLink Criteria API 计数

经过我们的搜索,我仍然无法找到在EclipseLink 标准查询中编写此 SQL 等效项的方法:

我尝试了连接、多选等。我需要在likegetResultList()中返回我。ListListlist[0] - (Preke)preke1, list[1] - (Integer)count1; list[0] - (Preke)preke2, list[1] - (Integer)count2 ...

编辑 1

它给了我以下 JPQL 声明:

这几乎没问题,但它不包括计数为 0 的结果。

如上面JPQL语句所说——t1.prid = t0.prid应该是坏的部分,如何替换它?我想我在这里需要的是一个LEFT JOIN. 但是怎么做呢?

0 投票
1 回答
1593 浏览

java - 涉及多个级联连接的条件查询

我有三个实体:BlockView想要TargetBlock为以下 sql 创建一个 JPA Criteria 查询。

块有很多意见和很多TargetBlocks

0 投票
1 回答
14090 浏览

jpa-2.0 - 如何在 JPA2 中检查集合大小

考虑以下:

如何输入一个 JPA2 CriteriaQuery 表达式,比如说,它可以让我找到所有超过 2 个作者的书籍?

0 投票
1 回答
4830 浏览

java - 实体列表的 CriteriaBuilder 和 isMember (Hibernate)

好的,我正在尝试做一些非常奇怪的事情。我正在尝试使用 CriteriaBuilder 和 CriteriaQuery 返回包含实体集合中给定对象的所有实体。几个小时以来,我一直在努力解决这个问题,相关文档很少,也不是特别有用。任何帮助将不胜感激。

相关课程摘录如下。

所以基本上,我需要能够找到包含给定标签的条目。我知道如果这是我正在做的唯一改进,这可以很简单地完成,但是对同一个 CriteriaQuery 进行了许多其他改进,我从不保证会进行哪些改进。

如果您真的需要了解后端,请查看http://pastebin.com/QJnkYRRh。这是一个可怕的没有评论的混乱。

0 投票
0 回答
420 浏览

count - SQL as JPA2. How to create a CriteriaQuery in JPA2 with MAX(), GROUP BY, ORDER BY, LIMIT and FOUND_ROWS()

In MySQL I'm able to select MAX value for desired column, group and order records, limit result and get total rows count in two SQL statements (executions):

From 250 records it selects 24 as total which is correct. (24 unique classes)

I'm able to select grouped records but not sure how to get total count. Also, result is List< List< Student > + MAX(age) >. However, without groupBy and max(), it produces List< Student > as expected.

Is it possible to get same result in JPA2 as a List?

0 投票
1 回答
2676 浏览

jpa - 如何使用 CritieraQuery 获取 interesect 查询?

给定

查找使用特定标签集合标记的所有文档。本质上,EclipseLink 相当于:

但使用 JPA CritieraQuery。