无法在springboot和Data JPA中使用nativeQuery方法访问数据记录

时间:2017-09-25 15:11:44

标签: java jpa spring-data-jpa nativequery

我尝试使用Spring Boot Spring Data JPA方法在我的存储库文件中使用JPQL获取一些数据qithout的nativeQuery方法,我在下面添加我的示例代码,

public interface UsersRepository extends CrudRepository<Users, Long> {
  @Query(value = "select u.username from users u",nativeQuery=true)
  List<Users> findByUsername();
},

调用方法,     UsersRepository userRepo;     return(List)userRepo.findByUsername();

然后错误变得像 -

  

“出现意外错误(type = Internal Server Error,   状态= 500)。无法执行查询; SQL [从中选择u.username   用户你];嵌套异常是   org.hibernate.exception.SQLGrammarException:无法执行查询“。

任何人都可以帮忙解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您正在使用nativeQuery,这始终会产生投影,并尝试将其映射到List Users实体。

这不起作用,你希望在你的情况下List<String>。或者列表,如果您决定在某个时间点在结果中添加更多列。

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

还要确保数据库中的表实际上是users,而列是username。如果您正在使用实体名称和字段名称,那么这是另一件需要改变的事情。