Je souhaite sélectionner des lignes ayant un fieldName
distinct. Et cette requête fonctionne très bien dans PostgreSQL.HQL - Erreur de jointure interne
select f from FieldType as f inner join
(select fa.fieldName, min(fa.id) as id from FieldType fa group by fa.fieldName)
as f1 on f.fieldName =:f1.fieldName and f.id =:f1.id
Mais je ne peux pas faire cette requête pour travailler dans Java
en utilisant HQL
. Je garde toujours à obtenir cette erreur
org.hibernate.hql.internal.ast.QuerySyntaxException: jeton inattendu: (
Suppression se déplace juste erreur les parenthèses au caractère suivant Comment puis-je corriger. ? ce que je suis ouvert à toute suggestion
HQL et SQL sont des langages différents. Vous ne pouvez pas passer une requête SQL à une méthode qui attend une requête HQL, tout comme vous ne pouvez pas passer le code C++ à un compilateur Java. –
cela ressemble plus à une requête native, utilisez l'option de requête native de hibernate –
Je ne suis pas sûr de ce qu'il n'aime pas dans la sous-requête, mais je suis sûr qu'il ne sera pas content de = :, comme: désigne un paramètre que vous devez définir de l'extérieur, et joindre un paramètre n'a aucun sens. – Deltharis