Bonjour,
J'ai actuellement un petit soucis de creation de requête avec les criteria.
Mon modèle pourrait etre décrit de la sorte :
J'ai une classe mere Piece de laquelle derive PieceAPrevoir et PieceReserve.
J'ai une classe Stock qui contient une liste de pieces.
Je voudrais faire une requete criteria qui me donne toute mes pieces et qui me somme pour chaque pieces le nombre de reservation.
J'ai donc fait :
Code:
Criteria criteria = session
.createCriteria(Stock.class,"stock")
.criteria.createCriteria("stock.pieces", "piece" , CriteriaSpecification.LEFT_JOIN)
.add(Restrictions.eq("piece.class", PieceReserve.class))
.setProjection(Projections.projectionList()
.add(Projections.sum("piece.quantite").as("quantite")))
Le probleme etant que la requete SQL généré donne une clause where du style :
Code:
where case when pr2_1_.id is not null then 1 when pr2_2_.id is not null then 2 when pr2_3_.id is not null then 3 when pr2_4_.id is not null then 4 when pr2_.id is not null then 0 end=?
Qui casse donc le left inner en restreignant l'affichage a la liste des pieces reserves.
Existe t il une solution a mon probleme ?
Merci d'avance,
Nicolas