如何使用JPA从表中获取多列?

2024-04-23

例如我有一张桌子Student它包含像这样的列id, name, age我正在通过使用恢复特定列值原生查询像下面这样。

Query query = entityManager.createNativeQuery("SELECT age FROM Student");
List list=query.getResultList(); 

通过使用上面的查询,我们将获得年龄列表Student桌子 现在我想得到age and name从表。

Query query = entityManager.createNativeQuery("SELECT age,name FROM Student");
List list=query.getResultList();

如果我确实喜欢这样,我的代码执行得很好,但是我如何才能在一个列表中获取姓名并在另一个列表中获取年龄。那么我该怎么做呢?非常感谢

Note我的项目中没有任何实体类或 POJO 类,我使用本机查询从数据库获取表。


你可以通过两种方式来处理它。

  1. 将结果集中的值解析为单独的列表。由于您没有为其定义实体,因此查询将返回

    List<Object[]> list = query.getResultList();
    

    对于返回的每一行,您可以通过年龄和姓名出现的索引来访问它们。即,在上面的示例中,年龄首先被选择,因此您会选择索引 0,名称为索引 1。

    for (Object[] obj : list) {
         age = obj[0];
         name = obj[1];
         // ..put them into whatever collection you desire
    }
    
  2. 使用两个查询。一个选择“年龄”,另一个选择“姓名”。每个都会将相应的值返回到它自己的列表中。

    Query query = entityManager.createNativeQuery("SELECT age FROM Student");
    List ages=query.getResultList(); 
    
    query = entityManager.createNativeQuery("SELECT name FROM Student");
    List names=query.getResultList();
    

    此方法唯一需要注意的是两个列表之间不存在真正的关系。换句话说,年龄[3]在逻辑上可能与名称[3]不匹配。但是......事实上,最初的问题没有任何关于如何创建两个列表的定义。

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

如何使用JPA从表中获取多列? 的相关文章

  • 使用java进行JSON模式验证[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在为返回 JSON 对象的 java webapp 编写一些验收测试 我想验证返回的 JSON 是否针对架构进行验证 任何人都可以建议
  • 我需要帮助理解 java 中 Timer 类的 ScheduleAtFixedRate 方法

    作为一个粉丝番茄工作法 http www pomodorotechnique com 我正在为自己制作一个倒计时器 以保证我完成作业 然而 这个特定的项目不是家庭作业 Stack 有很多关于使用计时器来控制用户输入之前的延迟等问题 但关于独
  • 如何在 Intellij IDEA 中为 Apache Tomcat 指定自定义 JRE 路径?

    问题是如何指定自定义JRE路径为Apache tomcat in Intellij IDEA 当从以下位置启动应用程序时IDEA 看来 只需配置它的路径 路径jvm dll in Apache Tomcat监视器没有帮助 还有其他想法或方法
  • 删除最低位

    给定一个二进制数 删除最低位的最快方法是什么 01001001010 gt 01001001000 它将在代码中用于迭代变量的位 伪代码如下 while bits 0 index getIndexOfLowestOrderBit bits
  • 将泛型与 Firebase snapshot.getValue() 结合使用的最佳实践

    TL DR 如何正确使用 Firebase DataSnapshot getValue 的泛型类 用例 我想使用 Firebase 为我的所有实体 其中一堆 实现一个通用远程数据源类 当监听数据更改时 我想从 datasnapshot 获取
  • Struts 2 - 使用 CKEditor 拦截上传的图像文件

    我有一个CKEditor在网站的不同页面上 所以我将上传内容设置为true以及让它工作的所有配置内容 并且图像上传工作得很好 Send it to the Server 标签 但从这里我想拦截或互动upload函数能够将图像上传到文件夹中
  • 如何以编程方式使用 TestNG 运行 Selenium Java 测试?

    我使用 Selenium RC 和 Java 使用 TestNG 作为测试框架 我使用 Eclipse 作为 IDE 我想非常轻松地从我自己的程序中调用 TestNG 我怎样才能做到这一点 我的以下 Java 代码运行良好 Test pub
  • 更新写入 java 文本文件的对象

    将 Java 对象或列表写入文本文件是可以的 但我想知道如何更新或重写以前写入的对象而不再次写入对象 例如 假设有一个 java util List 有一组对象 然后将该列表写入文本文件 然后稍后该文件将被再次读取并从列表中获取所有对象 然
  • 如何在 spring-boot 中禁用 spring-data-mongodb 自动配置

    有没有人尝试过在 spring boot 中禁用 mongodb 的自动配置 我正在尝试使用 spring data mongodb 来启动 spring boot 使用基于java的配置 使用 spring boot 1 2 1 RELE
  • 如何在primefaces中文件上传期间传递参数[重复]

    这个问题在这里已经有答案了 我使用 jsf2 0 和 primfaces 并使用 p fileupload 上传照片 这里我需要在支持 bean 中传递参数 因为没有通过 p fileupload 传递参数的选项 我也使用了绑定选项 但它在
  • 如何在应用程序级别管理只读数据库连接

    我们使用的是Java Spring Ibatis MySql 有没有办法利用这些技术在应用程序级别管理只读连接 我希望在只读 MySql 用户的基础上添加额外的保护层 如果 BasicDataSource 或 SqlMapClientTem
  • Servlet上下文和Spring应用程序上下文的本质区别

    我正在阅读 spring 框架文档 现在我在应用范围概念 http docs spring io spring docs current spring framework reference htmlsingle beans factory
  • JJWT依赖混乱

    我继承了一个java项目 在POM xml中有这个
  • Java HashMap 与 ArrayList 相比的内存开销

    我想知道java HashMap与ArrayList相比的内存开销是多少 Update 我想提高搜索一大包 600 万以上 相同对象的特定值的速度 因此 我正在考虑使用一个或多个HashMap来代替ArrayList 但我想知道 HashM
  • 如何使用 Maven 创建新的 Eclipse RCP 项目?

    如何使用 Maven 创建新的 Eclipse RCP 项目 最好是m2eclipse http maven apache org eclipse plugin html 我读到有一个关于 Eclipse 的 Maven 插件 Maven
  • SocketTimeoutException:插入 Google 云端硬盘时读取超时 - 是否可以重试?

    如同Java Google Drive SDK File insert execute 上的 SocketTimeoutException https stackoverflow com questions 17583630 java go
  • 如何在Windows上启动JBoss AS 7.1.1?

    我是新来的JBOSS 我下载了jboss as 7 1 1 Final zip并解压缩该 zip 文件 然后我转到 bin 文件夹并双击standalone bat 但新的 cmd 窗口在 2 3 秒内打开和关闭 我尝试通过cmd启动服务器
  • 为什么浮点数有符号零?

    为什么双打有 0也 0 其背景和意义是什么 0 通常 被视为0 当一个negative浮点数非常接近零 可以考虑0 要明确的是 我指的是算术下溢 http en wikipedia org wiki Arithmetic underflow
  • 使用 Java Swing 平均成绩 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一个家庭作业 我一直在编码 我以
  • 如何在JdbcTemplate中执行多批量删除?

    我想一次删除多个数据库条目 仅当 3 个字段匹配 此处 姓名 电子邮件 年龄 时 才应删除每个条目 如果我只想删除单个属性 我会选择 String sql DELETE FROM persons WHERE email IN JdbcTem

随机推荐