Bonsoir,
mon problème paraît simple mais il ne l'est pas tant que ça
Je rencontre un problème pour ordonner un champs d'une requête.
Actuellement je ramène les valeurs dans cet ordre :
1
10
2
3
.. jusqu'à
9
Je souhaiterais les ramener dans cet ordre:
1
2
3
.. jusqu'à
10
Le champs en question est de type String.
Je souhaiterais donc le convertir dans mon modèle Hibernate en Integer ou Double pour que les valeurs du champs ramenées soient correctement ordonnées.
J'utilise la requête Hibernate suivante :
Où mon champs "cpoRefNumCalc" représente un champs calculé dans mon modèle Hibernate:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 DetachedCriteria controlPointsCriteria = DetachedCriteria.forClass(ControlPoints.class); controlPointsCriteria.add(Restrictions.eq(ControlPoints.CPO_PREPARATION_PHASE, preparationPhase)); controlPointsCriteria.addOrder(Order.asc("cpoRefNumCalc"));
Cela devrait fonctionner, mais le champs calculé n'est pas remplacé dans la requête effectuée par Hibernate.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 @Formula(value = "cast(cpoRefNum as signed)") private double cpoRefNumCalc; public double getCpoRefNumCalc() { return cpoRefNumCalc; } public void setCpoRefNumCalc(double cpoRefNumCalc) { this.cpoRefNumCalc = cpoRefNumCalc; }
J'obtiens une requête SQL du type :
J'ai essayé de trouvé d'autres solutions mais je bloque là.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select this_.cpoRefNumCalc as cpoRefNu7_8_1_ from CONTROL_POINTS this_ inner join PREPARATION_PHASES preparatio2_ on this_.CPO_FK_PHASE_ID=preparatio2_.PRP_ID order by this_.cpoRefNumCalc asc
Avez-vous une piste svp ?
Merci de votre aide,
berni.
Partager