Erreur dans une requete HQL :Caused by: org.hibernate.hql.ast.QuerySyntaxException: unexpected token
J'ai utilisé un webservice qui fait appel à une base de donnée, ma raque HQL est :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| StringBuilder hql = new StringBuilder();
hql.append("select ");
hql.append(" entity.numDossier ");
hql.append(" entity.nomAgent ");
hql.append(" entity.nomClient ");
hql.append(" entity.prenomClient ");
hql.append(" entity.dateDemande ");
hql.append(" entity.dateFactue ");
hql.append(" entity.dateDepart ");
hql.append(" entity.montantRembouse ");
hql.append(" entity.modeRembousement ");
hql.append(" entity.motifRemboursement ");
hql.append(" entity.marquers ");
hql.append("from ");
hql.append(RemboursementTroPercu.class.getCanonicalName());
hql.append(" as entity ");
hql.append(" where 1=1 ");
hql.append(" and entity.ridMotifRemboursement= :ridMotifRemboursement ");
hql.append(" left join fetch entity.motifRemboursement ");
hql.append(" and enty.ridMarquers= :ridMarquers");
hql.append(" left join fetch entity.marquers= :ridMarquers "); |
Ma classe mappée est:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| @Entity
@Table(name="obj_remb_tropercu")
//@Inheritance(strategy=InheritanceType.)
@Cache(usage=CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class RemboursementTroPercu extends RemboursementElement {
@Column(name="RID_MARQUE" , nullable=false)
private Integer ridMarquers;
@OneToOne(cascade = CascadeType.ALL)
@PrimaryKeyJoinColumn(name ="ID", referencedColumnName ="RID_MARQUERS")
RefMarquers marquers;
@Column(name="RID_MOTIF_REMBOURSEMENT" , nullable=false)
private Integer ridMotifRemboursement;
@OneToOne(cascade = CascadeType.ALL)
@PrimaryKeyJoinColumn(name ="ID", referencedColumnName = "RID_MOTIF_REMBOURSEMENT")
RefMotifRemboursement motifRemboursement;
@Column(name="NUM_TICKET_MAIL" , nullable=false)
private Integer numeroTicketEptica;
// service demandeur
@Column(name="RID_NUMERO_TICKET_EPTICA" , nullable=false)
private Integer ridNumeroTicket;
// service demandeur
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name="RID_NUMERO_TICKET_EPTICA" , insertable=false , updatable=false ,nullable=false)
@PrimaryKeyJoinColumn(name ="ID", referencedColumnName = "RID_NUMERO_TICKET_EPTICA")
RefTicket serviceDemandeur;
@Column(name="RESPONSABLE_ERREUR", nullable=true)
private String reponsableErreur;
@Column(name="SERVICE" , nullable=false)
private String service; |
Classe mere
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| @Entity
@Cache(usage=CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
@IdClass(value=RemboursementElementPK.class)
public abstract class RemboursementElement {
private static final long serialVersionUID = 410111062297729353L;
@Id
@Column(name = "ID", nullable = false)
@GenericGenerator(name = "pk_remboursement", strategy = "native")
@GeneratedValue(generator = "pk_remboursement")
private Long id;
@Column(name="NUMERO_DOSSIER_REM",nullable=false)
private String numDossier;
@Column(name="NOM_AGENT", nullable=false)
private String nomAgent;
@Column(name="NOM_CLIENT", nullable=false)
private String nomClient;
@Column(name="PRENOM_CLIENT", nullable=false)
private String prenomClient;
@Column(name="DATE_DEMANDE", nullable=false)
private Date dateDemande;
@Column(name="DATE_FACTURE", nullable=false)
private Date dateFactue;
@Column(name="DATE_DEPART", nullable=false)
private Date dateDepart;
@Column(name="MONTANT_REMBOURSE",nullable=false)
private Double montantRembouse;
@Column(name="RID_MODE_REMBOURSEMENT" , nullable=false)
private Integer ridModeRemboursement;
@OneToOne(cascade = CascadeType.ALL)
@PrimaryKeyJoinColumn(name ="ID", referencedColumnName = "RID_MODE_REMBOURSEMENT")
EnumModeRemboursement modeRembousement;
@Column(name="AUTRE_MOTIF_REMBOURSEMENT", nullable=true)
private String autreMotifRemboursement;
@Column(name="VISA_SUPERVISEUR",nullable=true)
private String visaSuperviseur;
@Column(name="VISA_RESPONSABLE_FINANCIERS",nullable=true)
private String visaResponsableFinanciers; |
Citation:
Caused by: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: entity near line 1, column 37 [select entity.numDossier entity.nomAgent entity.nomClient entity.prenomClient entity.dateDemande entity.dateFactue entity.dateDepart entity.montantRembouse entity.modeRembousement entity.motifRemboursement entity.marquers from com.karavel.finance.domain.finance.remboursement.entities.RemboursementTroPercu as entity where 1=1 and entity.ridMotifRemboursement= :ridMotifRemboursement left join fetch entity.motifRemboursement and enty.ridMarquers= :ridMarquers left join fetch entity.marquers= :ridMarquers ]