当前位置: 首页 > 面试题库 >

Java持久性:是否将Query.getResultList()的结果转换为某些内容?

袁羽
2023-03-14
问题内容

大家好,我是持久/hibernate的新手,需要您的帮助。

这是情况。我有一个包含一些东西的表。我们称它们为“人”。我想从该表中的数据库中获取所有条目。

我有一个Person类,它是一个简单的POJO,具有表中每个列的属性(名称,年龄,..)

这是我所拥有的:

Query lQuery = myEntityManager.createQuery("from Person")
List<Person> personList = lQuery.getResultList();

但是,我收到一条警告,说这是从List到的未经检查的转换List<Person>

我认为只需将代码更改为

Query lQuery = myEntityManager.createQuery("from Person")
List<Person> personList = (List<Person>)lQuery.getResultList();

会工作..但是没有。

有没有办法做到这一点 ?持久性是否允许我设置查询的返回类型?(也许通过泛型?)


问题答案:

作为JPA的新手,他将其作为确定的答案,但随后我通过以下问题找到了一个更好的答案:为什么在JPA中,EntityManager查询会抛出NoResultException而find却没有?

就像使用TypedQuery代替Query一样简单,例如:

TypedQuery<Person> lQuery = myEntityManager.createQuery("from Person", Person.class);
List<Person> personList = lQuery.getResultList();


 类似资料:
  • 我有一个使用spring数据elasticsearch库的项目。我的系统返回了结果,但我想知道如何以域POJO类的形式获得结果。 我没有看到太多关于如何实现这一点的文档,但我不知道应该在谷歌上搜索什么正确的问题。 目前,我的代码是这样的,在我的测试中,它检索正确的结果,但不是作为POJO。 非常感谢您的帮助。

  • 我已经看到,当我们使用或时,JOOQ可以自动返回POJO 但是有可能将复杂查询的结果转换成多个POJO吗? 我测试了方法,它工作得很好。但我没有支持对象。

  • 问题内容: 由于使用JDBC连接器进行MySQL查询,因此我有一个结果集。所以我的工作是将结果集转换为JSON格式。这样我就可以将其作为AJAX响应发送到客户端。有人可以解释一下如何转换为JSON格式,因为我对Java和JSON都是新手 问题答案: 许多人正确地回答了这个问题。但是,我认为我可以使用以下几小段代码为该帖子添加更多价值。它使用Apache-DBUtils和Gson库。

  • 我正在进行一个项目,它将所有数据存储在键/值对中。键和值都是字符串。更改这超出了当前的范围。每个数据概念都由一个protobuf消息表示。 因此,我必须将protobuf消息存储为字符串。将消息存储为message.tobyteString().toString()就足够了吗?或者我应该对字节[]进行编码,例如使用Base32编码? 编辑 使用字节字符串进行持久化似乎不起作用: 在解析协议消息时,

  • 问题内容: 我遇到了必须使用 持久性Scheduler的情况 ,因为我有一个Web应用程序,由于某些问题该应用程序可能会崩溃或关闭,如果发生这种情况,它可能会丢失作业详细信息。我尝试了以下方法: 使用Quartz调度程序 : 我先使用过,但是由于它不是持久性的,因此没有太大帮助。无法设置,因为这将需要对现有代码库进行大量代码更改。鉴于这种情况,我有以下查询: 如果我 使用Spring的 内置注释,

  • 问题内容: 我从JavaScript进行$ getJSON调用得到以下结果。如何在JavaScript中将start属性转换为正确的日期? [{“ id”:1,“ start”:“ / Date(1238540400000)/”},{“ id”:2,“ start”:“ / Date(1238626800000)/”}] 谢谢! 问题答案: 您需要从字符串中提取数字,并将其传递给Date : 这些