在JPA、关系型数据库等中,什么是Tuple? [关闭]

2024-05-02

我正在研究 Hibernate 和 JPA,并且一直在寻找这个术语。有人可以用实用和说教的方式向我解释一下这个术语是什么,以及它与 JPA / Hibernate / 数据库有何关系?

我想知道它是否是一种包含任何类型数据的数据结构,但我不确定是否真的如此。另外,我不知道它与 JPA 查询的关系...任何人都可以给我一些启发吗?

EDIT

伙计们,不要沉淀。我在谷歌上搜索过,在字典 http://www.dictionary.com/browse/tuple?s=t(英语)、维基百科、社区 (stackoverflow),以及 JPA Tuple API。

以下是我的一些搜索词:

  • 什么是元组
  • Tuple
  • 数据库元组
  • JPA 元组

Java EE 6 的所有文档中关于 Tuple 的描述如下:

用于提取查询结果元素的接口tuple.

这解释了“很多”。

我找不到具体的、坚实的、简洁的、真正解释它是什么的东西。对于像我这样生来就无所不知的凡人来说,这很困难。我的母语不是英语,我无法接触到宇宙的全部内容,有时我试图让这个社区在问答中变得最实用、简单、友好和受人尊敬。这永远不够。不要以为我来这里之前没有研究过任何东西,认为我无知、外行、懒惰等等,这是先入为主!

看在上帝的份上……我用翻译器来写作,对于某些对其他人来说很容易理解的事情,我没有实际的理解。我的问题甚至遵循 stackoverflow 上的问题规则。当我问某事时,它总是有某事。当我尝试给出答案时,我总是尝试事先进行研究,并尽我所能向其他用户做出回应。给我一些悔恨,有时参加一些社区......我要求知识,不是为了地位,我相信其他人可能也有和我一样的问题。人们常常将这个社区视为禁忌,而不是交流知识的地方。再次……看在上帝的份上……


正如所说,一个Tuple是事物的有序列表。它有助于理解why你会用这样的东西。假设您在数据库中有一个表,并且出于某种原因您只想从该表中选择某些列。从这样的查询中,您可以获得对象和元组。例如,考虑一个具有两个字段的实体,latitude and longitude:

@Entity
public class User {
    @Id @GeneratedValue private Long id;

    private BigDecimal latitude;
    private BigDecimal longitude;

当你想查询的时候only纬度和经度列,你把结果放在哪里?实现此目的的方法之一是使用Tuples:

// With objects, the alias information is lost.
List<Object[]> s = em.createQuery("select u.lattitude as lattitude, u.longitude as longitude from User u", Object[].class).getResultList();
s.stream().forEach((record) -> {
    System.out.println(record[0]+","+record[1]);
});

// With Tuples, the alias information is retained.
List<Tuple> t = em.createQuery("select u.lattitude as lattitude, u.longitude as longitude from User u", Tuple.class).getResultList();
t.stream().forEach((record) -> {
    System.out.println( record.get("lattitude") +","+record.get("longitude"));
});

如你看到的,Tuples有一个alias由查询填写的属性,您可以稍后使用。这比Object. Also, TupleElement支持 Java 泛型,因此您还可以获得比使用 Java 泛型更高的类型安全性Objects.

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

在JPA、关系型数据库等中,什么是Tuple? [关闭] 的相关文章

随机推荐

  • 在 C# 中快速加载/读取 TIFF 文件

    我正在编写一个处理 TIFF 图像的 C 应用程序 主要是显示文件 重新排序页面 删除页面 分割多页图像 将单个图像合并为一个多页图像等 我们处理的大多数图像都较小 无论是文件大小还是页码 但也有一些较大的图像 显示图像时 我们需要将多页
  • SSRS 导出到 Excel 创建附加列

    我有一个 SSRS 报告 当我导出到 Excel 时 在 Excel 中查看时会创建不需要的列 确保不创建额外列的最佳方法是什么 我尝试将表行的位置设置为0in 0in但这并没有解决问题 随附的屏幕截图是报告在 Visual Studio
  • 使用 decltype() 声明函数签名

    是否可以声明一个函数bar与函数具有相同的签名foo int foo int a return 0 decltype foo bar return 1 imaginary syntax 我认为这同样适用于 typedef 和别名 您可以使用
  • Oracle SQL:从表中选择数据和分区名称并截断分区

    这是一个由两部分组成的问题 1 是否可以根据数据所在的分区使用 select 语句检索其名称ROWID或者其他一些标识符 eg SELECT DATA ID CATEGORY VALUE PARTITION NAME FROM MYTABL
  • Spring - 捕获bean创建异常

    我想在我的代码中捕获 bean 实例化异常 我有什么选择 一种方法是使用基于 Java 的容器配置 Configuration public class AppConfig Bean public SomeBean someBean try
  • Android 中的 Sqlite 全文搜索对非英语字符的 Unicode 支持

    滚动到末尾以跳过说明 背景 在我的 Android 应用程序中 我想使用非英语 Unicode 文本字符串来搜索存储在 SQLite 数据库中的文本文档 字段中的匹配项 我了解到 所以我认为 我需要做的是实施一个使用 fts3 fts4 进
  • 如何在 R 中手动编写正态分布核的似然值?

    具体来说 如何编码 x 和 mu 之差的乘积 精度矩阵以及 x 和 mu 之差的转置 我下面的代码正确吗 提前致谢 colSums dat mu mat solve sigma colSums dat mu mat 其中 mu mat 是重
  • 从类型“DBNull”到类型“String”的转换无效 vb.net

    使用下面给出的代码时显示一个错误 错误是 Conversion from type DBNull to type String is not valid 帮助我找到合适的解决方案 谢谢 Code cmd2 CommandText SELEC
  • PHP is_file 和服务器根相对路径

    请问如何使用 is file 和 folder file jpg 这样的路径 谢谢你 如果路径以 开头 则表示该路径是绝对路径 当路径是相对路径时 即不以 开头 则采用相对于 php 脚本的路径 如果您希望 folder file jpg
  • 修改文件流

    我现在正在开发一个允许编辑非常大的文本文件 4Gb 的类 嗯 这可能听起来有点愚蠢 但我不明白如何修改流中的文本 这是我的代码 public long Replace String text1 String text2 long repla
  • 在 docker windows 上运行 linux 容器

    我在 Windows 10 机器上安装了 Docker for Windows 它要求我启用 HyperV 功能 一切都安装正确并且运行良好 虽然有一件事让我大吃一惊 我实际上能够在 docker windows 上运行 Linux 容器
  • Python 字符串参数解析

    我正在 python 中使用 cmd 类 它将所有参数作为一个大字符串传递给我 将此 arg 字符串标记为 args 数组的最佳方法是什么 Example args arg arg1 arg2 with quotes arg4 arg5 1
  • 无法绑定多部分标识符

    我在 SO 上看到过类似的错误 但我找不到解决我的问题的方法 我有一个 SQL 查询 例如 SELECT DISTINCT a maxa b mahuyen a tenxa b tenhuyen ISNULL dkcd tong 0 AS
  • 无法将值写入密钥\使用管理员帐户在 Windows 7 计算机中安装 SSMS 显示软件

    我在安装SQL Server 2014时出现以下错误 无法将值写入键 SOFTWARE 验证您是否有足够的权限访问该密钥 或联系您的支持人员 当它尝试安装 SSMS 并且我的计算机正在运行 Windows 7 时 就会发生这种情况 为了使其
  • 强制 Javascript 编码风格的工具[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我需要自动检查不同人编写的javascript源代码的风格 你知道有什么好的工具可以做到这一点吗 与 emacs 集成将是一个优势 先感谢
  • iPhone 网络应用程序可以获取 GPS 位置吗?

    有没有一种简单的方法来设计一个网站来促进iphone用户提供gps网站坐标 我想知道表单字段是否有命名约定 例如 让用户以自动方式输入 我正在考虑建立一个基于位置的网站 并希望为 iPhone 和其他移动用户 量身定制 我意识到 iPhon
  • Android sqlite插入记录如果不存在

    我想将一个新项目 Cheese 添加到 sqlite 表中 但前提是它不存在 我的表中只有两列 id KEY ROWID PR 和product name KEY NAME PR 我一直在尝试使用这些代码 但它给了我一个错误 public
  • 如何通过点积获得峰值 CPU 性能?

    Problem 我一直在研究 HPC 特别是使用矩阵乘法作为我的项目 请参阅我的个人资料中的其他帖子 我在这些方面取得了不错的成绩 但还不够好 我退后一步 看看我在点积计算方面能做得如何 点积与矩阵乘法 点积更简单 并且允许我测试 HPC
  • 为什么允许 C++ 编译器优化具有副作用的内存分配?

    另一个问题讨论优化器删除调用的合法性new 编译器是否允许优化堆内存分配 https stackoverflow com questions 31873616 is the compiler allowed to optimize out
  • 在JPA、关系型数据库等中,什么是Tuple? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在研究 Hibernate 和 JPA 并且一直在寻找这个术语 有人可以用实用和说教的方式向我解释一下这个术语是什么 以及它与 J