Bonjour,
J'utilise Glassfish 3.0.1 (EclipseLink pour la persistance). J'ai deux Entity :
dans la table produit la colonne se nomme CAS
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
et
J’exécute une requete JPQL suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
et j'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2"SELECT p FROM Produit p WHERE (p.substance LIKE '%Bro%' OR p.nom LIKE '%Bro%' OR p.description LIKE '%Bro%' OR p.referenceFournisseur LIKE '%Bro%')"
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIKE '%50-%' OR t1.nom LIKE '%50-%') OR t1.description LIKE '%50-%') OR t1.refer' at line 1
Error Code: 1064
Call: SELECT t1.idProduit AS a1, t1.contenance AS a2, t1.ficheSecurite AS a3, t1.nom AS a4, t1.referenceFournisseur AS a5, t1.purete AS a6, t1.description AS a7, t1.idUniteMesure AS a8, t1.idConditionnement AS a9, t1.idEtatPhysique AS a10, t1.idFournisseur AS a11, t1.CAS AS a12 FROM substance t0, produit t1 WHERE (((? = ?) AND ((( LIKE ? OR t1.nom LIKE ?) OR t1.description LIKE ?) OR t1.referenceFournisseur LIKE ?)) AND (t0.CAS = t1.CAS)) LIMIT ?, ?
bind => [0, 0, %50-%, %50-%, %50-%, %50-%, 0, 9]
Si je ne me trompe pas, ce qui pose problème, c'est le ((( LIKE ? OR, il manque avant le LIKE : t1.CAS
Pourquoi EclipseLink ne "convertit" pas substance (variable de l'entity) en CAS (colonne de la BDD). Qu'ai-je oublié ?
Merci pour votre aide.
Cordialement
Geoffroy
Merci

 

 
		
		 
        

 
			
			

 
   


 problème de conversion JPQL -> SQL
 problème de conversion JPQL -> SQL
				 Répondre avec citation
  Répondre avec citation
Partager