JPQL:查询多列时,什么样的对象包含结果列表?

2024-01-06

我正在尝试在 PHP & Co 中做一些简单的事情: 选择 COUNT(x) 作为 numItems,AVG(y) 作为平均值,... FROM Z

在 PHP 中,我会得到一个像 [{ numItems: 0,average: 0 }] 这样的简单数组,我可以像这样使用它:

echo "Number of Items: " . $result[0]['numItems'];

通常在 JPQL 中,您只查询单个对象或单个列并获取列表类型,例如List<SomeEntity> or List<Long>。但是,当查询多列时,您会得到什么?


你得到一个Object[] (or a List<Object[]>)。来自该部分4.8.1 SELECT 子句的结果类型JPA 1.0 规范:

SELECT 子句的结果类型 由结果类型定义 这选择表达式包含在 它。当多个选择表达式用于 SELECT 子句中, 查询结果的类型Object[],以及这个中的元素 结果对应于 它们的规格顺序 SELECT 子句和 in 类型为 每个的结果类型选择表达式.

如果需要强类型,可以在 SELECT 子句中使用构造函数表达式。来自该部分4.8.2 SELECT 子句中的构造函数表达式:

构造函数可以用在 SELECT 列表返回一个或多个 Java 实例。指定的类是不是 必须是一个实体或 映射到数据库。这 构造函数名称必须完整 合格的。

如果指定了实体类名称 在 SELECT NEW 子句中, 结果实体实例位于 新状态。

SELECT NEW com.acme.example.CustomerDetails(c.id, c.status, o.count)
FROM Customer c JOIN c.orders o
WHERE o.count > 100
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JPQL:查询多列时,什么样的对象包含结果列表? 的相关文章

随机推荐

  • const 和 constexpr 最终会是同一件事吗?

    我刚刚读了答案 变量上的 const 与 constexpr https stackoverflow com q 13346879 1593077 我正在看这个Google Tech 谈论 C 11 14 功能 https www yout
  • 无法安装 node-sass 因此无法安装 gulp-sass

    我正在尝试设置一个可以将 sass 编译器与 gulp 一起使用的环境 我的环境的一部分是通过安装 gulp sass 设置的 但是 我收到错误 经过一番研究 这显然是因为我没有node sass 当我尝试使用安装node sass时 su
  • 如何关联两个 pandas 数据帧的标量值

    如何关联两个 pandas 数据帧 为所有值找到一个 r 值 我不想关联列或行 而是关联所有标量值 一个数据帧是 x 轴 另一个数据帧是 y 轴 我在这里下载了结构相同的 csv 文件 https www gapminder org dat
  • List 和 IEnumerable 之间有什么区别? [复制]

    这个问题在这里已经有答案了 可能的重复 IEnumerable 和 Array IList 和 List 有什么区别 https stackoverflow com questions 764748 whats the difference
  • 使用 C# 和 JSON.net 读取 JSON 文件

    我在理解如何使用 JSON net 读取 json 文件时遇到一些困难 该文件如下所示 version files url http www url com name someName name someOtherName url http
  • F#:尝试记忆成员函数会在每次调用时重置缓存?

    我试图记住一个类的成员函数 但是每次调用该成员 由另一个成员 时 它都会创建一个全新的缓存和 记忆 函数 member x internal dec rates let cache new Dictionary lt Basis DateT
  • 确定 32 位 int 的符号

    仅使用 gt NO LOOPS 我需要确定 32 位整数的符号 如果为正 则需要返回 1 如果为 0 则需要返回 0 如果为负 则需要返回 1 有任何想法吗 我首先考虑移动 31 位 然后查看该标志 但这显然行不通 现在我有点卡住了 如果条
  • 在 matplotlib 中根据 (x, y, z) 数据集绘制等值线/轮廓

    嗨 我是编程新手 我正在尝试做一些可能非常明显的事情 但我一生都无法弄清楚 我有一系列 x y z 数据 在我的例子中 对应于距离 深度和 pH 值 我想使用 matplotlib 在 xy 距离 深度 网格上绘制 z 数据 pH 的等值线
  • 获取 n 英里半径内的所有邮政编码

    让如下函数正常工作的最佳方法是什么 def getNearest zipCode miles 也就是说 给定邮政编码 07024 和半径 返回该半径内的所有邮政编码 SourceForge 上有一个项目可以帮助解决这个问题 http sou
  • 批处理脚本命令自动停止批处理脚本

    我通过以下方式运行批处理脚本时遇到一个奇怪的问题cmd exe在 Windows 上 echo off gradle wrapper gradlew build pause 该批处理脚本仅执行第一个命令 即gradle wrapper 之后
  • 在前进到下一个单元之前,强制 matplotlib 在 IPython/Jupyter 笔记本单元中完全渲染绘图

    在 IPython Jupyter 笔记本中 我遇到类似于以下伪代码的情况 cell 1 run some computation plot several plots separate figures cell 2 run some co
  • Tkinter - 如何更改默认的笔记本边框颜色?

    下面是我的示例代码 from tkinter import from tkinter import ttk root Tk root geometry 400x300 style ttk Style style configure TNot
  • 如何以集群模式运行docker redis?

    我启动了我的 redis docker 容器 docker run privileged true p 6379 6379 name TestRedis d redis 当我尝试在集群模式下从 Spring Redis 使用它时 出现错误
  • 如何从 JavaScript Promise 中获取价值?

    我有一个 userBalance 承诺对象 具有以下值 gt userBalance Promise 100000000000000000 domain Domain domain null events removeListener Fu
  • 如何使用 python 获取地理 TIFF 图像

    今天我遇到了麻烦 因为我第一次必须使用 TIFF 文件 并且遇到了错误 我正在尝试获取具有欧洲污染剂值的栅格 因此我对保持图像的高分辨率没有兴趣 但只是为了保留数据 我可以操纵图像 我的代码很简单 from future import pr
  • 如何淡出文本、更改文本以及淡入文本?

    我在数据模板中使用 TextBlock 作为数据网格中的单元格 我有一个要求 当单元格的值发生变化时 文本应该 更改前淡出 值应该改变 再次淡入 目前 我使用 TargetUpdated RoutedEvent 触发动画 使文本消失然后再回
  • Laravel 4:to_array() 在哪里?

    伙计 这真是令人沮丧 在 Laravel 4 中 使用 Eloquent 可以实现以下效果 var dump Worker find 1 但如果我尝试使用to array 它崩溃了 var dump Worker find 1 gt to
  • ffmpeg 可以将音频从原始 PCM 转换为 WAV 吗?

    我可以将 wav 文件转换为 pcm ffmpeg i file wav f s16le acodec pcm s16le file pcm 我怎样才能恢复这个操作 wav 容器只是向原始 PCM 数据添加一个简单的标头 标头包括格式 采样
  • Django 中的单表继承

    Django 中是否明确支持单表继承 据我所知 该功能仍在开发和争论中 是否有我可以同时使用的库 黑客来捕获基本行为 我有一个混合不同对象的层次结构 具有 Employee 类 员工类型的子类和 manager id parent id 的
  • JPQL:查询多列时,什么样的对象包含结果列表?

    我正在尝试在 PHP Co 中做一些简单的事情 选择 COUNT x 作为 numItems AVG y 作为平均值 FROM Z 在 PHP 中 我会得到一个像 numItems 0 average 0 这样的简单数组 我可以像这样使用它