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

Native query not working when specifying column name

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

我正在这样添加我的代码,

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

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

我认为问题出在您的 return 变量上。 当你 运行 "*select * from...*" 查询时,你可以 return list of Users.

但是,您想要获取一个可能是 varchar 的列,因此您应该 return List of String:

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