指定列名时,本机查询不起作用

时间:2017-11-21 11:02:43

标签: spring-data-jpa nativequery

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

  • 当我使用原生查询方法时,"选择*来自"工作中。但是,当我指定"从"中选择用户名时方法不起作用。方法指定列名时,它不起作用。

我正在添加这样的代码,

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

但是使用select * from users的查询没问题。这是原生查询性质吗?或者提供者定义的格式是否有限?

任何人都可以帮助我澄清我的困惑吗?

1 个答案:

答案 0 :(得分:1)

我认为问题出在你的返回变量上。 当您运行&#34; * select * from ... * &#34;查询,您可以返回用户列表

但是,您想要获取可能是varchar的列,以便返回字符串列表

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