问题标签 [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 投票
1 回答
2053 浏览

sql - 在 Hibernate 中结合 NamedQuery 和 Criteria

我在 storefinder 应用程序中使用 Hibernate。对于 SQL 中的邻近搜索,我使用 hasrsine 公式。因为这是一个有点混乱的 SQL,我为此在我的 .hbm.xml 文件中创建了一个命名的 SQL 查询。

但我也有一个用户定义的过滤器(营业时间、分类等)。为此,我使用 Hibernate 标准以编程方式添加过滤器。

现在我有一个完美运行的 NamedQuery,它为我提供了某个点周围的所有位置,以及一个完美运行的标准查询,它根据某个过滤器为我提供了所有位置。

我的问题是:在 Hibernate 中结合这两种野兽的最佳方式是什么?(即,我需要满足某个过滤器的某个点周围的所有位置。)例如,有什么方法可以将 NamedQuery 用作条件搜索中的子查询?

0 投票
1 回答
969 浏览

hibernate - Grails (Hibernate) 条件查询

我的 Grails 应用程序中有一个域类,如下所示:

我想编写一个条件查询,选择某年某月发生的事件,有什么建议吗?

谢谢,唐

0 投票
1 回答
1550 浏览

hibernate - Groovy 条件查询

我有一个看起来像这样的域模型

或者用英文“一个费用有一个类型,每个类型都属于一个类别”。我想编写一个 Criteria 查询来查找特定类别中的所有费用。我试过这两个

和这个

但是它们都不起作用,我错过了什么?

更新

我被要求显示域类,所以它们是:

0 投票
4 回答
9399 浏览

hibernate - 从休眠查询返回的空列表,带有嵌入的 id

我有一个带有嵌入式密钥的实体。实体只有key作为字段,key有7个字段,其中一些可以为null。

当我运行以下查询时:

我得到了正确数量的结果,但每个结果都是空的(即我得到了一个包含 4000 个空对象的列表)。我尝试过同时使用 HQL 查询和条件,但它们都给出了相同的结果。

映射类是从现有数据库生成的。

查询生成的SQL如下

看起来它应该返回正确的数据。

映射文件非常简单(并且从模式生成:

0 投票
2 回答
3872 浏览

grails - 无法创建包含 belongsTo 关系的 grails Criteria 查询

我一直在尝试创建一个包含 belongsTo 关系的标准构建器,但尚未成功。考虑以下模型:

我正在尝试进行以下查询:

我得到的只是以下错误

我尝试向标准查询添加不同的小补充,例如:

但仍然遇到同样的问题。

我什至尝试将以下静态映射添加到 Msg 类:

还是行不通。

有没有办法使用包含 belongsTo 查询的标准构建器?

提前感谢您的帮助。
吕西安

0 投票
1 回答
7555 浏览

hibernate - 休眠条件 api '选择在'

是否可以使用 hibernate critiria api 创建一个“选择输入”查询?

示例:我在 1:n 关系中有两个表,公司和部门

0 投票
1 回答
635 浏览

hibernate - 按实体分组时防止休眠 N+1 选择

我有一个由此构建的 Hibernate Criteria 对象:

这为我产生了正确的结果,但“observedSubject”属性是一个实体。当我将 set show_sql 设置为 true 时,我看到在第一个查询(返回 18 行)之后,有 18 个选择来获取observedSubject 实体。我试过了:

但这没有用。作为一种在黑暗中的刺,我试过:

但这也不起作用。有什么办法可以防止这种行为?

0 投票
5 回答
61292 浏览

performance - Hibernate Criteria vs HQL:哪个更快?

我一直在阅读一些答案,但我仍然感到困惑。为什么?因为您提到的差异与性能无关。它们与易于使用有关。(Objetc(标准)和 SQL(hql))。但我想知道“标准”是否由于某种原因比 hql 慢。

我在另一个答案中读到了这个

“HQL 和条件查询之间的性能存在差异,每次使用条件查询触发查询时,它都会为表名创建一个新别名,该别名不会反映在任何数据库的最后查询缓存中。这会导致开销编译生成的 SQL,需要更多时间来执行。” 通过瓦伦梅塔。

这是非常接近的但是!我在另一个网站上阅读(http://gary-rowe.com/agilestack/tag/hibernate/)Hibernate 3.3 及更高版本不再是这种情况(请阅读:9)Hibernate 很慢,因为生成的 SQL Criteria接口不一致)

我做了一些测试,试图找出差异,但两者都生成 qry,并且不会更改表的别名。

我很困惑。如果有人知道主要原因,请帮助我们。谢谢

0 投票
9 回答
87334 浏览

java - JPA2:不区分大小写,例如在任何地方匹配

我一直在 JPA 1.0(休眠驱动程序)中使用休眠限制。定义Restrictions.ilike("column","keyword", MatchMode.ANYWHERE)了哪些测试关键字是否与任何地方的列匹配并且不区分大小写。

现在,我使用 JPA 2.0 和 EclipseLink 作为驱动程序,所以我必须使用“限制”内置 JPA 2.0。我找到了CriteriaBuilder方法like,我也找到了如何让它在任何地方匹配(虽然它很可怕而且手动),但我仍然没有弄清楚如何做到不区分大小写。

我目前有一个很棒的解决方案:

问题:

有没有像 Hibernate 驱动程序中的任何功能?

我是否正确使用了 JPA 2.0 标准?与 Hibernate Restrictions 相比,这是一种尴尬且不舒服的解决方案。

或者任何人都可以帮助我如何将我的解决方案更改为不区分大小写,好吗?

非常感谢。

0 投票
1 回答
2066 浏览

hibernate - Hibernate 不支持访问用户类型上的字段以获取投影标准?

我的课程:

我也有一个正确设置的 AccountTypeUserType。

我的查询:

我遇到的问题是我的查询失败了......

哦,你也不能 .createAlias("accountType", "at") 因为 accountType 不是一个关联。

有什么想法吗?