Bonjour a tous,

J'ai fait beaucoup "d'experiences" et j'ai fait un peu de recherche ....

J'essaie de faire une requete en utilisant les criteria comme par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Criteria crit = sess.createCriteria(Cat.class);
Et ce afin de poser des critères dessus
Code : Sélectionner tout - Visualiser dans une fenêtre à part
crit.add( Expression.like("name", "Fritz%") )
Puis de charger les objets Cat mais uniquement les id, donc sous la forme de Proxy.
1°) C'est a dire de ne pas charger les autres attributs de la classe Cat
donc pas de
2°) Et ne pas charger les sous objets de la classe Cat

Avec une requete HQL je pourrais, mais justement je voudrais le faire en Criteria.

Je n'ai pas trouver d'exemple alors j'ai imaginer une technique que je vais essayer d'expliquer rapidement :
Je créer un objet CatProxy contenant un id et un attribut cat de type Cat
Je map cette classe sur la meme table : CAT, avec l'attribut Cat en proxy

Puis je fait ma requete comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Criteria critProxy = sess.createCriteria(CatProxy.class);
Criteria crit = critProxy.createCriteria("cat");
Puis je continue a poser mes criteres de la classe Cat sur l'objet crit.

Mais malheureusement lors du
J'obtient bien des objets CatProxy, sauf que l'attribut cat est charger full.
Donc ça ne marche pas.


Existe-t-il un techinique pour faire cela ?

Merci d'avance