当前位置: 首页 > 知识库问答 >
问题:

指定列名时本机查询不工作

郎鹤龄
2023-03-14

我正在尝试使用本机查询方法获取数据。我能够使用JPA存储库声明的spring数据方法(findAll()等)和JPQL查询来获取数据。

  • 当我使用本机查询方法时,“select*from”正在工作。但当我指定“select username from”时,方法不起作用。表示指定列名时,它不起作用

我像这样添加我的代码,

@Query(value = "select u.username from users u" , nativeQuery = true)
List<Users> findByUsername();

但是使用select*from users的查询没有问题。这是本机查询性质吗?或者提供者是否定义了任何有限类型的格式?

共有1个答案

弓晔
2023-03-14

我认为问题在于你的回报变量。当您运行“*从...*中选择*”查询时,您可以返回用户列表。

但是,您希望获取一个可能是varchar的列,因此您应该返回字符串列表:

@Query(value = "select u.username from users u" , nativeQuery = true)
List<String> findByUsername();
 类似资料:
  • 问题内容: 我的Web应用程序中有一个管理控制台,允许管理员在数据库上执行自定义SQL SELECT查询。 在下面,该应用程序正在使用Hibernate,但是这些查询不是HQL,它们是纯SQL,因此我使用的是本机查询,如下所示: 这可以正常工作,但是它只返回数据行,没有额外的信息。我还想获取列名,因此当我将结果打印回用户时,我还可以打印标题以显示各个列。 有什么办法吗? 问题答案: 经过很长一段时

  • 我有包含活动会话的hazelcast映射。我完全实现了MapStore,它从MongoDB加载和存储文档。现在,我需要执行分布式查询来处理映射中的所有条目,但当Hazelcast从集合中逐出条目时,持久化条目不会被检查。 以这种方式处理所有条目的正确方法是什么? 我是否需要为Hazelcast和MongoDB中的持久化条目编写两个版本的查询? 可能有可配置的收集行为以使Hazelcast将存储中的

  • 问题内容: 我在Oracle中有一个表,其中SC_CUR_CODE列为CHAR(3) 当我做: 我看到了,而不是和 是一个java.lang.Character 我怎样才能得到充分的价值和? 问题答案: 似乎Hibernate读取类型为的值。尝试将其转换为: 通过接口使用Hibernate时,您可以改为设置一个结果类型(也可以通过JPA 2.0 访问): 从HHH-2220开始,Hibernate

  • 我们希望将字符串列表传递到名为JPA的本机查询中。我们如何才能做到这一点。它正在引发无效的查询参数异常。

  • ..回购方法 我用DESC和ASC调用编写了一个单元测试,反之亦然,似乎第一个调用是什么,第二个调用给出的结果是一样的。