我尝试使用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:无法执行查询“。
任何人都可以帮忙解决这个问题吗?
答案 0 :(得分:1)
您正在使用nativeQuery
,这始终会产生投影,并尝试将其映射到List
Users
实体。
这不起作用,你希望在你的情况下List<String>
。或者列表,如果您决定在某个时间点在结果中添加更多列。
@Query(value = "select u.username from users u",nativeQuery=true)
List<String> findByUsername();
还要确保数据库中的表实际上是users
,而列是username
。如果您正在使用实体名称和字段名称,那么这是另一件需要改变的事情。