Bonjour,

J'aimerais convertir la requête SQL Server suivante en JPA :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
SELECT 
  DATE_NAISSANCE AS BIRTHDAY
FROM 
  EMP_EMPLOYE EMP
WHERE 1 = (FLOOR(DATEDIFF(dd,EMP.DATE_NAISSANCE,GETDATE()+7) / 365.25))
          -
          (FLOOR(DATEDIFF(dd,EMP.DATE_NAISSANCE,GETDATE()) / 365.25))
J'ai ceci mais toujours avec cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
final StrBuilder requete = new StrBuilder();
requete.append("SELECT employe FROM Employe employe WHERE 1 =");
requete.append(" ((OPERATOR('FLOOR', (OPERATOR('DATEDIFF', (function('dd'), employe.dateNaissance, CURRENT_DATE()+7)) / 365.25)))");
requete.append(" - ");
requete.append(" (OPERATOR('FLOOR', (OPERATOR('DATEDIFF', (function('dd'), employe.dateNaissance, CURRENT_DATE()-1)) / 365.25))))");
java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager:
Exception Description: Syntax error parsing [SELECT employe FROM Employe employe WHERE 1 = (OPERATOR('FLOOR', OPERATOR('DATEDIFF', (dd,EMP.DATE_NAISSANCE,CURRENT_DATE+7) / 365.25))) - (OPERATOR('FLOOR', OPERATOR('DATEDIFF', (dd,EMP.DATE_NAISSANCE,CURRENT_DATE-1) / 365.25))) AND employe.actif = 1].
[86, 128] The left expression is not an arithmetic expression.
[183, 225] The left expression is not an arithmetic expression.
Qqun a-t-il une idée de ce qui ne va pas ?
Merci d'avance pour votre aide