Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法使用springboot和data JPA中的nativeQuery方法访问数据记录_Java_Spring_Hibernate_Jpa_Spring Data Jpa - Fatal编程技术网

Java 无法使用springboot和data JPA中的nativeQuery方法访问数据记录

Java 无法使用springboot和data JPA中的nativeQuery方法访问数据记录,java,spring,hibernate,jpa,spring-data-jpa,Java,Spring,Hibernate,Jpa,Spring Data Jpa,我尝试了nativeQuery方法,使用Spring Boot,Spring data-JPA方法在我的存储库文件中获取一些数据,但没有使用JPQL,我在下面添加示例代码: public interface UsersRepository extends CrudRepository<Users, Long> { @Query(value = "select u.username from users u",nativeQuery=true) List<Users>

我尝试了
nativeQuery
方法,使用
Spring Boot
Spring data-JPA
方法在我的存储库文件中获取一些数据,但没有使用JPQL,我在下面添加示例代码:

public interface UsersRepository extends CrudRepository<Users, Long> {
  @Query(value = "select u.username from users u",nativeQuery=true)
  List<Users> findByUsername();
},
public interface UsersRepository扩展了crudepository{
@查询(value=“从用户u中选择u.username”,nativeQuery=true)
列出findByUsername();
},
并通过调用

UsersRepository userRepo;
return (List<Users>) userRepo.findByUsername();
UsersRepository userRepo;
返回(列表)userRepo.findByUsername();
然后我得到的错误是:

“出现意外错误(类型=内部服务器错误, 状态=500)。无法执行查询;SQL[从中选择u.username] 用户[u];嵌套异常为 org.hibernate.exception.sqlgrammareexception:无法执行查询”


有人能帮助解决这个问题吗?

您使用的是
nativeQuery
,它总是产生一个投影,您试图将其映射到
用户的
列表中

这是行不通的,您希望在您的案例中有一个
列表。或者,如果您决定在某个时间点在结果中添加更多列,请列出

@Query(value = "select u.username from users u",nativeQuery=true)
  List<String> findByUsername();
@Query(value=“从用户u中选择u.username”,nativeQuery=true)
列出findByUsername();
还要确保数据库中的表实际上是cassed
users
,列是
username
。如果您使用的是实体名和字段名,那么这是另一件需要更改的事情