4
Hey, je suis nouveau à JPA et assez nouveau à SQL et je dois écrire une requête slectionJPA requête nommée
Je dois:
« Sélectionner tous les paiements dont le montant est supérieur à la moyenne la valeur de tous les paiements en dollars américains »
J'ai une entité JPA:
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private Long id;
private String account;
private double amount;
private String currency;
J'ai essayé avec:
@NamedQuery(name="payByUSD" , query="SELECT x FROM Payment x WHERE x.amount > (SELECT AVG(x.amount)from Payment)")
mais j'obtenu l'erreur suivante:
- The FROM clause must defined at least one identification variable declaration.
- The right expression is missing from the arithmetic expression.
Quelqu'un peut-il me diriger dans la bonne direction.
'AVG (amount)' au lieu de 'AVG (Payment)'. –
Ok, je l'ai changé en x.amount mais j'ai toujours ces erreurs: \t - La clause FROM doit avoir défini au moins une déclaration de variable d'identification. \t - L'expression correcte est manquante dans l'expression arithmétique. –
Cela provient du SELECT interne; fais comme avec x. Au lieu de SQL, nous faisons des objets dans les requêtes JPA. –