2017-03-28 4 views
0

後HibernateとのSQLServerを使用してバインドすることはできません私は春休止状態使用してプロジェクトを構築していますここに私のHQLクエリはorg.hibernate.exception.SQLGrammarException:マルチパート識別子が休止状態移行

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 

そして私です[次のコードを実行しようとmは:

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_ONLY)に失敗しました。そして、次の例外がスローされます。

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 

休止3でなく、移行後にうまく動作するために使用されるクエリを、前の例外をスロー4を休止します。 何か不足していますか?

答えて

0

これは通常、coluがバインドできない場合、つまり、何か問題があることを意味します。単純なタイプミスや、テーブルとカラムの混乱のいずれかがあります。テーブルやフィールド名に予約語を使用し、[]で囲んではいけません。

+0

しかし、私がこの例外に直面した4を冬眠するためのアップグレードの後、ちょうど私が休止状態3を使用していたときに、 – Chaaaaz