Je construis un projet à l'aide du printemps de mise en veille prolongée voici ma requête HQLorg.hibernate.exception.SQLGrammarException: L'identifiant multi partie ne peut pas être lié à l'aide Hibernate et SQLServer Après une migration de mise en veille prolongée
select distinct new ma.mamda.per.model.Souscription(souscription.id, souscription.numeroPolice, souscription.dateEffet,
souscription.cotisationPeriodique.epargne.montant,souscription.produit.familleproduit.code, souscription.garntieOptionnelle,
souscription.dureeContrat, souscription.etat,
souscription.souscripteur.nom, souscription.souscripteur.prenom,souscription.partenaire.libelle,souscription.partenaire.id,
souscription.produit.libelle,assure.numeroCompte, assure.nom, assure.prenom)
from ma.mamda.per.model.Souscription as souscription
left outer join souscription.souscripteur as souscripteur
left outer join souscription.cotisationPeriodique as cotisationPeriodique
left outer join souscription.cotisationPeriodique.epargne as epargne
left outer join souscription.partenaire as partenaire
left outer join souscription.produit as produit
left outer join souscription.produit.familleproduit as familleproduit
left outer join souscription.assure as assure
where souscription.etat != 11 and souscription.etat != 13 and produit.id = 1
Et je essaie d'exécuter le code suivant:
Query q = getCurrentSession.createQuery(requete.toString());
try {
SscrollableResults scrollableResults = query.scroll(ScrollMode.FORWARD_ONLY);
int totalElements = scalculateTotalElementsByList(query);
} catch (HibernateException e) {
if (log.isErrorEnabled())
log.error("Failed to create ScrollPage by getScrollPageInstanceWithTotalByQuery: " + e.getMessage());
throw e;
}
le code échoue dans ScrollableResults = Query.scroll (ScrollMode.FORWARD_ONLY); et jette l'exception suivante:
org.hibernate.exception.SQLGrammarException: Failed to create ScrollPage by getScrollPageInstanceWithTotalByQuery: The multi part identifier "subscript0_1_.partenaire_id" can not be bound
Root Cause : com.microsoft.sqlserver.jdbc.SQLServerException: The multi part identifier "subscript0_1_.partenaire_id" can not be bound
La requête utilisée pour fonctionner parfaitement en veille prolongée 3 mais après la migration vers mise en veille prolongée 4, il jette l'exception précédente. Ai-je raté quelque chose?
Mais la requête fonctionnait très bien quand j'utilisais Hibernate 3.Juste après la mise à niveau d'Hibernate 4 que j'ai fait face à cette exception – Chaaaaz