2012-12-16 5 views
4

이봐, 난이 JPA에 새로운 SQL에 비교적 새로운 그리고 난 내가해야 할JPA 명명 된 쿼리

slection에 쿼리를 작성해야합니다 :

"양이 평균보다 모든 지불을 선택을

: 내가 함께 노력

@Id 
@GeneratedValue(strategy = GenerationType.TABLE) 
private Long id; 
private String account; 
private double amount; 
private String currency; 

: 모든 USD 지불 "

의 가치 나는 JPA 엔티티가

- The FROM clause must defined at least one identification variable declaration. 
- The right expression is missing from the arithmetic expression. 

사람이 올바른 방향으로 날 지점 수 :

하지만나는 다음과 같은 오류가 발생했습니다.

+0

'AVG (지불)'대신'AVG (금액)'. –

+0

자, x.amount로 바꿨지 만 다음과 같은 오류가 있습니다 : \t - FROM 절은 하나 이상의 ID 변수 선언을 정의해야합니다. \t - 오른쪽 표현식이 산술 표현식에 없습니다. –

+0

내부 SELECT에서입니다. x와 같이해라. SQL 대신 JPA 쿼리로 객체를 수행합니다. –

답변

5

사용

SELECT x FROM Payment x 
WHERE x.amount > (SELECT AVG(p.amount) from Payment p) 

귀하의 하위 쿼리는

SELECT AVG(x.amount) from Payment 

이며, x가 정의되어 있지 않습니다.