Java org.hibernate.exception.sqlgrammareexception:在hibernate迁移之后,不能使用hibernate和SQLServer绑定多部分标识符
我正在使用hibernate spring构建一个项目这里是我的HQL查询Java org.hibernate.exception.sqlgrammareexception:在hibernate迁移之后,不能使用hibernate和SQLServer绑定多部分标识符,java,sql-server,hibernate,Java,Sql Server,Hibernate,我正在使用hibernate spring构建一个项目这里是我的HQL查询 select distinct new ma.mamda.per.model.Souscription(souscription.id, souscription.numeroPolice, souscription.dateEffet, souscription.cotisationPeriodique.epargne.montant,souscription.produit.familleproduit.code,
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
我正在尝试执行以下代码:
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;
}
代码在scrollableResults=query.scroll(仅限ScrollMode.FORWARD_)中失败;并引发以下异常:
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
该查询在Hibernate3中正常工作,但在迁移到Hibernate4之后,它抛出了前面的异常。
我遗漏了什么吗?这通常是因为如果colu无法绑定,这意味着它有问题-要么是简单的输入错误,要么是表和列之间的混淆。这也可能是由于在表名或字段名中使用保留字,而不是在其周围使用[]造成的。但在我使用hibernate 3时,该查询工作正常。升级到hibernate 4后,我遇到了此异常