utiliser Criteria pour un JOIN WITH
Bonjour,
Je cherche comment utiliser Criteria avec JOIN WITH
Par exemple, on a les tables
Recette
- int id_r num
- String nom
- int sucreSaleAcide
- int id_ingredients
et
Ingredients
- int id_i num
- String nom_ingredient
- int stock
- Set Recettes //collection hibernate des liaisons retour
La requête doit être sur Ingredients.
et je veux écrire ce qui donnerait en HQL :
Code:
1 2 3
| SELECT i.nom_ingredient, r.nom
FROM Ingredients i
LEFT OUTER JOIN Recette r WITH r.sucreeSaleAcide > :value |
avec :
En Criteria, ça devrait donner :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Criteria crit = session.createCriteria(Ingredients.class);
//crit.setFetchMode("ingredients", FetchMode.JOIN);
//crit.add(Restrictions.gt("r.sucreeSaleAcide", 2));
crit.createAlias("recettes", "r");
//crit.createCriteria("recettes").add(Restrictions.eq("r.sucreeSaleAcide", 2));
crit.add(Restrictions.gt("r.sucreeSaleAcide", 2));
//crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
//http://www.developpez.net/forums/showthread.php?t=310869
List list = crit.list(); |
Mais évidemment ça marche pas... quelqu'un pourrait me montrer le chemin ?
merci !