je l'ERD suivante:requête JPQL avec l'agrégation « somme » ne fonctionne pas comme prévu
Je veux sélectionner la somme de groupe salarial des employés par région, mais mon instruction select does't fonctionne comme prévu.
Voici le code pour cette requête:
@SuppressWarnings("unchecked")
public Salary findByRegion(String region) {
return (Employee) getEntityManager()
.createQuery("select sum(e.employeeJob.salary) from Employee e where "
+ "e.employeeDepartment.departmentLocation.locationCountry.countryRegion = :region")
.setParameter("region", "%" + region + "%")
.getSingleResult();
}
Qu'est-ce que je fais de mal à cela?
Quel cadre de persistance utilisez-vous? JPA, autre? S'il vous plaît ajouter une balise pour le rendre clair. Aussi, s'il vous plaît soyez clair sur ce que vous voulez dire quand vous dites * ça ne marche pas *. C'est une déclaration très vague. Avez-vous une erreur? Avez-vous des résultats incorrects? Si oui, quelle erreur, ou quels résultats obtenez-vous, et quels sont vos résultats attendus? – sstan
Oui, j'utilise jpa. Le salaire est une partie d'une autre table, de sorte que cette déclaration n'a rien retourné quand je l'ai exécuté. A côté j'ajoute cette instruction select dans la classe employeeDao. Je ne suis pas sûr de pouvoir la laisser là ou de créer une autre classe Dao – Kranatos
e.employeeJob.salary ?? Je n'ai pas vu le champ Salaire dans l'objet Tâche. Je vois seulement minSalary et maxSalary dans l'objet du travail. –