sql server - The multi part identifier "subscript0_1_.partenaire_id" can not be bound after upgrading hibernate from 3 to 4 -


so i'm building project hibernat 4.0.1.final , spring 3.2.3.release , i'm trying execute query

stringbuffer requete = new stringbuffer("select distinct new ma.mamda.per.model.souscription(souscription.id, ")         .append("souscription.numeropolice, souscription.dateeffet, souscription.cotisationperiodique.epargne.montant,souscription.produit.familleproduit.code, ")         .append("souscription.garntieoptionnelle, souscription.dureecontrat, souscription.etat, ")         .append(" souscription.souscripteur.nom, souscription.souscripteur.prenom,souscription.partenaire.libelle,souscription.partenaire.id,souscription.produit.libelle,assure.numerocompte, assure.nom, assure.prenom)") .append("  ma.mamda.per.model.souscription  souscription left outer join  souscription.souscripteur souscripteur") .append(" left outer join  souscription.cotisationperiodique cotisationperiodique") .append(" left outer join  souscription.cotisationperiodique.epargne epargne ") .append(" left outer join  souscription.partenaire partenaire ") .append(" left outer join  souscription.produit produit") .append(" left outer join  souscription.produit.familleproduit familleproduit "); if(notempty(recherchecontratbean.getnumcomptebancaire())){     requete.append(" left outer join  souscription.compte compte "); }     requete.append(" left outer join  souscription.assure assure "); if(notempty(recherchecontratbean.getidtypeavenant())){     requete.append(" left outer join  souscription.historiques historiques "); } if(notempty(recherchecontratbean.getnumsinistre())){     requete.append(" left outer join  souscription.rachattotal rachattotal ")     .append(" left outer join  souscription.rachatspartiel rachatspartiel "); } requete.append("  souscription.etat != ").append(recherchecontratbean.action_en_attente_validation); requete.append(" ,  souscription.etat != ").append(recherchecontratbean.action_invalide); if(notempty(recherchecontratbean.getstatut())){     requete.append(" , souscription.etat = ").append(recherchecontratbean.getstatut()); } if(notempty(recherchecontratbean.getnumpolice())){     requete.append(" , numeropolice '%").append(recherchecontratbean.getnumpolice().trim()).append("%'"); } if(notempty(recherchecontratbean.getnumcomptebancaire())){     requete.append(" , compte.numcomptebancaire '%").append(recherchecontratbean.getnumcomptebancaire().trim()).append("%'"); } if(notempty(recherchecontratbean.getnomassure())){     requete.append(" , assure.nom '%").append(recherchecontratbean.getnomassure().trim()).append("%'"); } if(notempty(recherchecontratbean.getnomsouscripteur())){     requete.append(" , souscripteur.nom '%").append(recherchecontratbean.getnomsouscripteur().trim()).append("%'"); } if(notempty(recherchecontratbean.getidtypeavenant())){     requete.append(" , historiques.typeavenant.id = ").append(recherchecontratbean.getidtypeavenant()); }    if(notempty(recherchecontratbean.getnumsinistre())){     requete.append(" , (rachattotal.numerosinistre = ").append(recherchecontratbean.getnumsinistre())     .append(" or rachatspartiel.numerosinistre = ").append(recherchecontratbean.getnumsinistre()).append(" )"); }    if(notempty(recherchecontratbean.getidproduit())){     requete.append(" , produit.id = ").append(recherchecontratbean.getidproduit()); } if(notempty(recherchecontratbean.getidpartenaire())){     requete.append(" , partenaire.id = ").append(recherchecontratbean.getidpartenaire()); }    query q = genericdao.createquery(requete.tostring()); 

and i'm trying execute following code:

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 create scrollpage getscrollpageinstancewithtotalbyquery: " + e.getmessage());     throw e; } 

the code fails in scrollableresults = query.scroll(scrollmode.forward_only); , throws following exception:

org.hibernate.exception.sqlgrammarexception: failed create scrollpage getscrollpageinstancewithtotalbyquery: multi part identifier "subscript0_1_.partenaire_id" can not bound root cause : com.microsoft.sqlserver.jdbc.sqlserverexception: multi part identifier "subscript0_1_.partenaire_id" can not bound 

here partenaire class

@entity @inheritance @discriminatorcolumn(name="type_partenaire") @cache(usage =cacheconcurrencystrategy.read_write) @batchsize(size=1000) public  class partenaire implements java.io.serializable {      private static final long serialversionuid = -7532086016661782539l;       private integer id;     private string  libelle;     private string  code;     private string numerocompte;     private string  raisonsocial;     private string  inbox;     private string  outbox;     private set<intermediaire> intermediaires= new hashset<intermediaire>();     private set<produit> produits = new hashset<produit>();       public partenaire() {     }     public partenaire(integer id) {         this.id = id;     }     public partenaire(string numerocompte) {         this.numerocompte = numerocompte;     }       public partenaire(integer idpartenaire, string libellepartenaire) {         this.id= idpartenaire;         this.libelle = libellepartenaire;     }      /**      * @return idpartenaire      */     @id  @generatedvalue @column(name="id")     public integer getid() {         return id;     }      public void setid(integer id) {         this.id = id;     }      public string getlibelle() {         return libelle;     }      public void setlibelle(string libelle) {         this.libelle = libelle;     }       public string getcode() {         return code;     }      public void setcode(string code) {         this.code = code;     }      public string getraisonsocial() {         return raisonsocial;     }      public void setraisonsocial(string raisonsocial) {         this.raisonsocial = raisonsocial;     }        @onetomany(mappedby="partenaire")     //@joincolumn(name="partenaire_id")     public set<produit> getproduits() {         return produits;     }      public void setproduits(set<produit> produits) {         this.produits = produits;     }      public string getinbox() {         return inbox;     }      public string getoutbox() {         return outbox;     }      public void setinbox(string inbox) {         this.inbox = inbox;     }      public void setoutbox(string outbox) {         this.outbox = outbox;     }      @onetomany(mappedby="partenaire")     //@joincolumn(name="partenaire_id")     public set<intermediaire> getintermediaires() {         return intermediaires;     }      public void setintermediaires(set<intermediaire> intermediaires) {         this.intermediaires = intermediaires;     }      public string getnumerocompte() {         return numerocompte;     }      public void setnumerocompte(string numerocompte) {         this.numerocompte = numerocompte;     }  } 

the query used work fine in hibernate 3 after migration hibernate 4 throw previous exception. missing ?


Comments

Popular posts from this blog

javascript - Clear button on addentry page doesn't work -

c# - Selenium Authentication Popup preventing driver close or quit -

tensorflow when input_data MNIST_data , zlib.error: Error -3 while decompressing: invalid block type -