问题标签 [hql]

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 回答
16827 浏览

hibernate - 将 SQL 转换为 HQL

我正在尝试将以下 SQL 查询转换为 HQL,但遇到了一些问题。逐行转换不起作用,我想知道是否应该在 HQL 中使用内部联接?

查询返回客户订单状态更改之间的时间(以秒为单位)。

状态名称和日期会动态插入到查询中。

编辑:刚试过这个

并收到异常“外部或完全连接必须后跟路径表达式

0 投票
3 回答
1372 浏览

.net - NHibernate HQL 不支持“with”关键字吗?

我正在尝试构建一个可以从集合中留下连接值的 HQL,以便让我有机会在其上检查“为空”。

取自休眠手册中的示例:

似乎在 NHibernate 中不起作用,因为它不识别“with”关键字。如果您不能直接在您的连接中而不是在您的 WHERE 语句中指定连接子句,您还应该如何离开连接并检查不匹配的条目?

我正在运行 NHibernate 2.0.0。

0 投票
2 回答
1996 浏览

nhibernate - 将查询转换为 HQL 时遇到问题

我对 HQL 很陌生(嗯,一般是 nHibernate),目前正在构建一个简单的应用程序来了解更多信息。

我在尝试将以下 SQL 表达为 HQL 时遇到了问题,如果有任何想法,我将不胜感激。

这是查询:

0 投票
0 回答
970 浏览

nhibernate - 我如何在 HQL 中表达这一点

我已经被这个查询困住了一段时间了。SQL 返回我想要的结果,但我不知道如何用 HQL 表达查询。

这是SQL

我想我需要使用 DetachedCriteria 来创建相关的子查询,但我遇到了真正的问题。

这是到目前为止的位置:

对于主要查询

这显然是不正确的 - 我需要从 latestPostInThread 获取 userId 才能将其用作我的子查询,但我完全被难住了。

任何帮助将不胜感激!我不愿意回退到 SQL,因为我确信在 nHibernate 中实现并不是特别困难。

0 投票
2 回答
2758 浏览

java - Hibernate:解析/翻译 HQL FROM 部分以获取对类别名、类名

谁能指出我,我如何解析/评估 HQL 并获取键是表别名和值的映射 - 完全限定的类名。

例如对于 HQL

SELECT a.id from Foo a INNER JOIN a.test b

我希望有对:

一、package1.Foo

湾。package2.TestClassName

结果集相对容易做

在此处查看详细信息。

0 投票
3 回答
47128 浏览

nhibernate - 在 HQL 上使用 Min、Max 和 Count

hibernate HQL 查询是否支持使用 select min、max、count 和其他 sql 函数?

像:

select min(p.age) from person p

谢谢

0 投票
4 回答
789 浏览

hql - 从 ScalarQuery 获取行计数 InvalidCast 异常

它因 invalidcast 异常而失败,但在将 count 替换为 max 时成功。

0 投票
2 回答
5065 浏览

nhibernate - 在 HQL where 子句中使用对象类型

在我的域模型中,我有一个抽象类 CommunicationChannelSpecification,它有 FTPChannelSpecification、EMailChannelSpecification 和 WebserviceChannelSpecification 等子类。现在我想创建一个 HQL 查询,其中包含一个 where 子句,该子句将结果缩小到某些类型的通道规范。例如(用简单的英语)选择所有类型出现在集合 {FTPChannelSpecification, WebserviceChannelSpecification} 中的 CommunicationChannelSpecifications。

如何在 HQL 中实现这一点?我正在使用 NHibernate 2.0.1 和每个子类继承映射策略的表...

谢谢!

帕斯卡

0 投票
1 回答
1809 浏览

nhibernate - 如何编写涉及多个联接的条件查询

我正在尝试使用 Criteria API 编写以下 HQL 查询:

(3 个 NHibernate 对象:用户(ID,名称,角色,客户),角色(ID,名称)和客户(ID,名称)。

我尝试了以下方法,但它不起作用,因为 NHibernate 试图找到与角色关联的客户:

还有其他方法(可行!)吗?

0 投票
2 回答
5882 浏览

performance - 具有空值的 JPA/Hibernate 查询优化

我正在使用 Hibernate 的 JPA 实现,并且看到性能很差,因为为每个获取的实体发出了多个 SQL 查询。如果我使用连接的 JPA 查询,它只会生成一个 SQL 查询,但找不到行将为空关系。

例如,考虑这个简单的模式。一个人住在一个​​地址并受雇于一家公司。地址和雇主都是可选的,因此可以为空。

上面没有显示的是每个 JPA 实体都有某种 ID(键):

我看到的问题是对 Person 的单个 JPA 查询会导致对数据库的多个 SQL 查询。例如,以下 JPA 查询:

导致 SQL 查询:

以及每个检索到的人的以下一对 SQL 查询:

这对性能有很大的影响。如果查询结果集为 1000 人,则生成 1+1000+1000=2001 条 SQL 查询。

所以我尝试通过强制加入来优化 JPA 查询:

或者:

这会导致一个带有一堆连接的 SQL 查询。问题是如果地址或雇主为空,则连接查询将找不到它。

所以我要么使用慢的无连接查询,要么使用不检索行的快速连接查询将使关系为空。我一定在这里遗漏了一些东西。肯定有一种快速和完整查询的方法。