HQL:是否可以在子查询上执行 INNER JOIN?

2024-02-07

上图是我用来记录项目位置随时间变化的数据库结构的简化版本。我编写了以下 SQL 查询,该查询返回每个位置的当前商品库存:

select * 
from ItemLocationLog l
inner join 
(select g.idItemLocationLog, max(g.dateTime) as latest
from ItemLocationLog g
group by g.idItem)
as i 
on l.idItem = i.idItem and l.dateTime = i.latest

我遇到的问题是我想将其转换为 HQL,但我还没有找到在子查询上执行 INNER JOIN 的语法,而且似乎不支持这一点。有没有办法将上述内容转换为 HQL(或条件),或者在这种情况下我必须使用标准 SQL 查询?谢谢。


http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html#queryhql-subqueries http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html#queryhql-subqueries

请注意,HQL 子查询只能出现在 select 或 where 子句中。

您可以重写查询,使子查询成为 where 子句的一部分。在子查询中引用l.idItem

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HQL:是否可以在子查询上执行 INNER JOIN? 的相关文章

  • 在调用 toString() 时如何避免初始化 HibernateProxy?

    我有以下映射 Author Entity Getter Setter public class Author Id GeneratedValue strategy IDENTITY Access PROPERTY private Long
  • 实体创建无用的 id 字段

    我有一个CrudRepository与两个实体 Problem 特征实体总是创建一个附加的id数据库中的字段但未选择正确的characteristic id要生成的字段JSON machine entity machine id name
  • 使用 Hibernate 和 Apache DBCP 的 MySQL 连接池问题

    看来我的应用程序有问题 当应用程序在启动后闲置很长时间 我不确定确切的时间 时 我会在日志中收到以下错误消息 我使用 Spring Hibernate MySQL 和 ApacheDBCP 进行连接池 ERROR org hibernate
  • 删除原始数据中部分重复的记录

    我需要删除表中时间间隔为 1 或 2 分钟或相同且必须相同的所有记录ID但保留第一个记录 ID Time SN SD WE FW 10 2014 06 30 19 17 37 000 I 0 100 0 10 2014 06 30 19 1
  • Python SQLite3 SQL注入漏洞代码

    我知道下面的代码片段由于 format 的原因很容易受到 SQL 注入的攻击 但我不知道为什么 有谁明白为什么这段代码容易受到攻击以及我从哪里开始修复它 我知道这些代码片段使输入字段保持打开状态 以便通过 SQL 注入执行其他恶意命令 但不
  • 为什么我们不能有多个主键?

    我知道表中不能有超过 1 个主键 但技术原因是什么 直接拉取自SO https stackoverflow com questions 217945 can i have multiple primary keys in a single
  • 为什么 sql 字段名称中不应该包含逗号?

    人们一直告诉我列名中不应包含空格 我只是想知道 这是为什么 这是我为学校创建的一些数据库表遇到的问题 字段名称包括 Preble 和 Darke 相反 它们需要是 普雷布尔县 俄亥俄州 和 达克县 俄亥俄州 如果它们是行名称 我只需创建一个
  • Oracle 获取列值发生变化的行

    假设我有一张桌子 比如 ID CCTR DATE 1 2C 8 1 2018 2 2C 7 2 2018 3 2C 5 4 2017 4 2B 3 2 2017 5 2B 1 1 2017 6 UC 11 23 2016 还有其他字段 但我
  • 基于列顺序的查询速度

    数据库中列类型的顺序对查询时间有影响吗 例如 具有混合排序 INT TEXT VARCHAR INT TEXT 的表的查询速度是否会比具有连续类型 INT INT VARCHAR TEXT TEXT 的表慢 答案是肯定的 这确实很重要 而且
  • MySQL:你能指定一个随机限制吗?

    有没有办法在 SQL MySQL 中随机化限制数字 我希望能够做的是在查询中获取随机数量的结果以在插入子查询中使用 而无需任何服务器端脚本 我希望能够作为假设说明运行的查询是 SELECT id FROM users ORDER BY RA
  • hibernate生成器增量如何处理删除

    这就是我使用生成器的方式
  • 整理有关 QueryDSL-JPA 的提示

    有没有办法用 QueryDSL 来执行它 粗体部分 从地点选择 其中名称如 cafe 整理 Latin1 general CI AI 我将 JPA 与 hibernate 一起使用 您可以使用addFlag QueryFlag Positi
  • MySQL 中的断言

    我有一个针对大型数据库运行的 SQL 脚本 我想在开始时提出几个简单的查询 作为健全性检查 有没有办法在MySQL中写断言 或者任何类型的 选择 如果它与该值不匹配 则中止整个脚本 一些疯狂的代码 要点是 SET可能会引发 mysql 变量
  • 具有 LINQ 支持的最完整的 ORM?

    我正在寻找一个提供完整或接近完整的 LINQ 支持的 ORM LINQ 到 SQL 支持 LINQ 内部的所有内容 Contains Math Log 等 在不创建新数据上下文的情况下无法预先加载关系属性 ADO NET 实体框架 糟糕的
  • Hibernate 级联删除未按预期工作

    我正在使用 hibernate 3 并尝试删除数据库中的记录 但删除操作未按我的预期进行 hibernate 正在针对的模式 以伪代码形式 create table Employer employer id number 12 primar
  • SQL - 为每条记录调用存储过程

    我正在寻找一种方法来为 select 语句的每条记录调用存储过程 SELECT SomeIds SELECT spro Id FROM SomeTable as spro INNER JOIN Address addr ON addr Id
  • Quartz.NET 设置 MisfireInstruction

    我正在使用 Quartz NET 在 C 中工作 并且在 CronTrigger 上设置失火指令时遇到问题 我正在运行安装了 Quartz DB 的 SQL 后端 我有以下代码 可以很好地创建作业和运行调度程序 IScheduler sch
  • 从 PDO 准备好的语句中获取原始 SQL 查询字符串

    在准备好的语句上调用 PDOStatement execute 时 有没有办法让原始 SQL 字符串执行 出于调试目的 这将非常有用 我假设您的意思是您想要最终的 SQL 查询 并将参数值插入其中 我知道这对于调试很有用 但这不是准备好的语
  • Yii 查询时对相关模型的限制

    我遇到了极限问题 我正在使用的代码如下 model PostCategory model record model gt with array posts gt array order gt posts createTime DESC li
  • 如何在动态查询中将行值连接到列名

    我正在开发一个允许配置问题和答案的应用程序 目前最多可以有 20 个答案 但也可能更少 我的结构如下 问题 ID FormId QuestionText AnswerField 1 1 Name Answer01 2 1 Address A

随机推荐

  • 使用rvm、ruby 1.9.2、bundler和passenger的“未初始化常量编码”

    我在这里无计可施 正在向大家寻求有关 f 编码问题的帮助 我在 Dreamhost 上具有 root 权限的私人服务器上运行 这是关于我的环境和版本的一些信息 which ruby v ruby 1 9 2p180 2011 02 18 r
  • JPA中原生查询的字段值

    如何获取本机查询 JPA 中某些字段的值 例如我想获取客户表的姓名和年龄 Query q em createNativeQuery SELECT name age FROM customer WHERE id 注意 我不想将结果映射到实体
  • 我应该在 R 中哪里设置变量 PATH?

    我经常需要在 R 中调用 Tex Live 二进制文件进行编译 但是 在升级 Tex Live 发行版后 需要在 R 中手动更新当前二进制文件的路径PATH Sys getenv PATH 多变的 作为 Ubuntu 系统上的单个用户 我应
  • 字符串是否需要转换字节顺序?

    发送和接收字符串时是否需要转换为网络 主机字节顺序 可用函数 例如 htons 仅适用于 16 位和 32 位整数 我还知道一个事实 单个字符不应该产生影响 因为通常它是一个字节大 但是字符串呢 下面是一个代码片段 int len recv
  • Sql Server——去掉非数字字符

    我有一张桌子 SET ANSI NULLS ON GO SET QUOTED IDENTIFIER ON GO CREATE TABLE dbo TestAB A int IDENTITY 1 1 NOT NULL B nvarchar 1
  • tf 签入特定文件夹

    在 Visual Studio 的 checkin 命令文档中 它说 不使用 签入 对话框签入对单个项目的更改 c code SiteApp Main gt tf checkin program cs noprompt 如何查看特定文件夹
  • 以编程方式显示文本视图选取框

    尝试从数组填充文本视图 我通过下面的代码设法通过 XML 获得了所需的效果
  • 如何检查 Backbone.View 当前是否在 DOM 中呈现?

    我想检查 Backbone View 当前是否在 DOM 中渲染 如果没有 我不必重新渲染它 我可以以某种方式检查一下吗 Regards 好吧 理论上你可以查询 DOM 来找出答案 但这比仅仅设置一个实例变量并在渲染之前查询要慢得多 另一方
  • TabView 的 SwiftUI 动画选项卡

    在 SwiftUI 中使用 TabView 时 是否可以修改选项卡选择之间的转换 目前 当选择不同的选项卡时 转换非常突然 居然瞬间突然 哎哟 例如 给定以下情况 TabView Text The First Tab tabItem Ima
  • LDA和主题模型

    我研究了几个星期的LDA和Topic模型 但是由于我的数学能力很差 我不能完全理解它的内部算法 我使用了GibbsLDA实现 输入大量文档 并将主题数设置为100 我得到一个名为 final theta 的文件 它存储每个文档中每个主题的主
  • CakeEmail 如何在堆栈跟踪之前确定失败?

    我试图捕获电子邮件失败的时间 以便我可以将所需的数据保存在我的数据库中 并且可以尝试稍后发送 我认为以下内容应该像使用时一样工作save if email gt send success works else fail never gets
  • 按日期范围连接表[重复]

    这个问题在这里已经有答案了 我正在寻找按日期范围连接两个表的简单方法 一个表包含确切的日期 另一个表包含两个标识时间段开始和结束的变量 如果第一个表中的日期在第二个表的范围内 我需要连接表 data1 lt data table date
  • npm 警告可选跳过可选依赖项:[电子邮件受保护]

    我正在尝试使用 Angular CLI 安装 Angular 但当我尝试运行此命令时遇到错误 Command npm install g angular cli Error C Users abc gt npm install g angu
  • Makefile 动态变量作为先决条件

    也许这是我搞错了 基本上我的任务是使用make自动构建 部署 启动 停止不同的服务 我想做的事情之一是将变量作为目标先决条件 但是必须在另一个目标中更改该变量 这是我正在尝试做的事情的基本示例 IMAGE COUNT 1 count ima
  • ios7设备底部空间狭小

    我们正在开发一个适用于 ios6 和 ios7 的应用程序 我的问题是 如果我在设备中检查我的应用程序 则会发现一个小的空白区域 其大小等于屏幕底部状态栏的大小 如果我在屏幕顶部放置一个虚拟状态栏 它会在 ios6 中出现问题 如果您有任何
  • 如何将本地创建的函数和变量作为组件中的 props 传递?

    我有一个按钮组件 一个哑组件 我想附加一个可选的动画 并将该动画传递到 props 中 由另一个 prop 的布尔值触发 我在尝试同时通过这两个项目时不断遇到错误 Unknown prop ripple on
  • 确定 Mac 上 Java SDK 的版本

    我有一台运行 Snow Leopard 的 MacBook Pro 如何查看我的 Mac 上安装的 Java SDK 版本 打开终端并输入 java version or javac version 如果您拥有 Snow Leopard 的
  • 这是 Primefaces 错误还是 Mojarra/MyFaces 错误

    当我在里面时 我似乎无法触发事件column of dataTable 这是我的简单演示
  • Angular 7错误RangeError:超出最大调用堆栈大小

    我正在尝试通过以下方式学习角度官方教程 https angular io tutorial 但是当执行以下步骤时hero component and hero detail component 它会引发错误 RangeError 超出最大调
  • HQL:是否可以在子查询上执行 INNER JOIN?

    上图是我用来记录项目位置随时间变化的数据库结构的简化版本 我编写了以下 SQL 查询 该查询返回每个位置的当前商品库存 select from ItemLocationLog l inner join select g idItemLoca