2017-11-21 7 views
0

네이티브 쿼리 방법을 사용하여 데이터를 가져 오려고합니다. 나는 스프링 데이터 JPA 저장소 (findAll() 등)를 선언하고 JPQL 쿼리를 사용하여 데이터를 가져올 수있다.열 이름 지정시 기본 쿼리가 작동하지 않습니다.

  • 네이티브 쿼리 방법을 사용하는 경우 "select * from"이 작동합니다. 그러나 "사용자 이름 선택"방법을 지정하면 작동하지 않습니다. 의미 열 이름을 지정할 때 작동하지 않습니다. 사용자의

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

나는이 같은 내 코드를 추가하고

, 그러나 쿼리를 선택하여 * 문제없이 노력하고 있습니다. 이 원시 쿼리 자연입니까? 아니면 제공자가 정의하는 형식의 제한된 유형이 있습니까?

누구든지 내 혼란을 명확히 할 수 있습니까?

답변

1

문제는 귀사의 귀환 변수에 있다고 생각합니다. "* select * from ... *"쿼리를 실행하면 사용자 목록을 반환 할 수 있습니다.

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

을 예 :

그러나, 당신은 당신이 문자열의 목록을 반환해야합니다, 그래서 아마 VARCHAR입니다 열을 가져올합니다. 그 일. 당신의 응답을 주셔서 감사합니다. – Jacob

+0

당신은 대부분 환영합니다 @PrinceVarghese – ahmetcetin