问题标签 [hibernate-criteria]

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 投票
2 回答
13280 浏览

java - 休眠,获取重复值

我正在编写一个非常简单的查询,但由于某种原因我得到了重复的值。

pi.getId()返回重复值。IE:*9,9,10,10,11,11 etc*

但是,直接在 mysql 中运行此查询

不返回重复值。

谁能发现哪里出了问题?

0 投票
1 回答
167 浏览

hibernate - 涉及特定行的休眠和算术

我正在使用 Hibernate,需要对结果执行基本的算术函数。这是我的情况:

我正在存储odometer并且fuel想要计算fuelEconomy. 但要做到这一点,我需要知道之前的odometer读数,这将来自之前的结果。这是一个插图。

桌子:

POJO:

我可以使用 Criteria 完成此操作,还是必须求助于 HQL 查询?或者这会更好地留在不同的层吗?

0 投票
1 回答
6112 浏览

java - 带有投影的休眠条件不执行 @OneToMany 映射的查询

我有一个域对象 Expense,它有一个名为initialFields的字段。

它是这样注释的:

现在,出于性能原因,我尝试使用 Projections 仅提取某些字段,但是这样做时, initialFields 字段始终为空。它是唯一的 OneToMany 字段,也是我尝试使用以这种方式运行的投影检索的唯一字段。如果我使用常规 HQL 查询 initialFields 被适当地填充,但我当然不能限制字段。

部分投影代码:

当我打开调试并打开 show sql 时,提取 initialFields 的查询似乎没有被创建/运行。有人见过这样的吗?

我刚刚尝试使用 HQL 投影,通过指定我想要提取的每个字段,然后手动构建对象。在这种情况下,Hibernate 构建的 SQL 对于 initialFields 字段是不正确的。 expense1_.name as col_1_0_, . as col_2_0_, expense1_.account_id as col_3_0_. 将. as col_2_0_ is拉出 initialFields 的位置。我的猜测是它应该是expense1_.id as col_2_0_

编辑:我刚刚删除了结果转换器来检查每个属性,并且 initialFields 属性确实为空。

0 投票
1 回答
1485 浏览

hibernate - 休眠条件查询

我正在尝试使用 Hibernate 标准 api 执行子查询,但无法完全弄清楚如何去做。假设有 2 个表,SHOPS 和 EMPLOYEES,其中 SHOPS 包含所有商店信息,EMPLOYEES 是所有商店中所有员工的大表(未设置外键)。我正在尝试编写一个查询,该查询从 SHOPS 表中检索商店 ID 和地址,然后通过连接和 EMPLOYEES 表中的计数来检索商店中的雇员人数。像这样的东西:

所以我有一个 Java 类 Shop,其中包含 shopId、shopAddres、numEmployees 和类似的员工。

我的子查询:

主要标准查询如下:

我的问题是:

  • 如何将 Detached 查询关联为子查询以将计数结果收集到 Shop 类中的类变量 numEmployees 中?

谢谢-J

0 投票
2 回答
2740 浏览

hibernate - 在条件中使用左连接时 Hibernate Child Collection Limited

使用休眠条件时,仅更改连接类型会影响根域类的子集合的结果。

例如,让类 Parent 与具有以下数据的类 Child 具有一对多的关系:

使用以下休眠条件返回 1 个父行,访问子集合会返回两行:

但是,当使用左连接更改上述代码时,返回 1 个父行,但访问子集合时只返回匹配的子行。

为什么会出现这种副作用?我发现了一些关于使用或避免这种副作用的讨论,具体取决于您的预期结果,但没有关于它首先存在的原因以及它是否是预期的。最接近的直接问题是一个陈旧的缺陷(http://opensource.atlassian.com/projects/hibernate/browse/HHH-3872)。

  • 编辑 3/24:固定数据 *
0 投票
1 回答
28040 浏览

java - 集合值的休眠条件

我正在尝试使用 Hibernate 组合一个复杂的查询。我一直倾向于标准,但我开始怀疑这是不可能的,所以任何建议都会有所帮助。

我有一个如下的实体结构:

这些实体是相关的,如您所料:

现在,我希望能够获取一组属性/值对(字符串)并找到包含所有这些的所有实例。在 Value 中,attribute 和 localAttributeName 只有一个是非空的,因此属性名称可以匹配 localAttributeName 或 attribute.name。最后一次让事情复杂化的是,Value 上的唯一索引是 on (instance, attribute, value) 或 (instance, localAttributeName, value)——也就是说,在一个实例中,任何给定的属性都可能有多个值。

这是我到目前为止所拥有的:

根据我所做的研究,我为“做某事”部分所做的尝试是:

但这会引发下面的异常,我怀疑它告诉我我不能用 Criteria 做到这一点,但我很想学习其他方式:

这样做的最佳方法是什么?

0 投票
1 回答
4316 浏览

mysql - 休眠条件对一组元素设置包含/不包含限制

您好我正在尝试将基于 sql 的旧查询框架迁移为基于 Hibernate Criteria,目前我使用的是 Hibernate 3.2 版。和 mysql v 5.0.54

我的问题是我想编写一个标准来返回所有在包含的元素集中没有值的 Bean。

bean 的休眠配置文件的摘要是:

类文件是这样的:

我想检索所有在其 agentOptions 中没有选项“DO_NOT_SYNDICATE_ADS_TO_THIRD_PARTIES”的代理

我之前用于此的 sql 类似于:

我试过这个:

哪个吐出坏的sql

我也尝试过使用别名:

这会引发异常:

org.hibernate.MappingException:集合不是关联:Agent.agentOptions

最后我决定尝试一个蛮横的 sql 标准:

这有效,但似乎有点难看。

有谁知道是否有一种方法可以使用 std Criteria API 而无需求助于 sql。

非常欢迎任何帮助或建议。即使他们需要升级到更新版本的 Hibernate。

干杯西蒙

0 投票
4 回答
7470 浏览

hibernate - 如何在条件查询中使用 MAP 的键?

我有一个像这样的豆子

我想获取TestA数据以及地图testBMapwhere key ='test1'

我如何使用 Hibernate 来做到这一点。

0 投票
4 回答
11423 浏览

hibernate - 休眠条件和计数列

我正在尝试返回一个实体,该实体的列具有另一个表的计数,该表是一对多关系。我想使用休眠标准而不是 HQL 来做到这一点。

0 投票
1 回答
719 浏览

grails - Grails:使用来自交叉连接的数据填充域:hql、条件、SQL 查询?

我有点坚持这个问题。假设我有一个域类:

还有这个

我想用域类 Activity 与自身交叉连接的结果填充 ActivityMap 域类,即等效 SQL 查询的结果

我不确定哪种方法最有效:使用 Criteria、HQL 或嵌入式 SQL 查询,因为结果数据集可能非常大(300-50+ 活动发生,预期 250k 结果行)?

任何建议/提示,例如?

在此先感谢,帕特里克