IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

createCriteria charger uniquement la pk


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 171
    Par défaut createCriteria charger uniquement la pk
    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

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut
    tu pourrais simplement récupérer tes objets complets puis récupérer une liste qui ne contiendrait que tes id

  3. #3
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 171
    Par défaut
    Merci pour ta réponse

    Mais ce que j'ai oublier de préciser c'est que le but de la manip est d'optimiser. En effet je n'ai besoin que des ids, donc cela serait dommage de charger les objets pour rien.

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut
    alors hql serait plus approprié si tu as le soucis d'optimisation

    My very modest test shows no significant difference between Hibernate Criteria API and HQL access for queries. Criteria might be a few milliseconds slower, but my query time will take 10x more time, even for a relatively simple query (my query is has 3 inner joins, is grouped, with a count and takes only 4ms when performed once in mysql under no load).

Discussions similaires

  1. Réponses: 7
    Dernier message: 30/01/2008, 18h24
  2. Charger uniquement le contenu
    Par Kneckers dans le forum ASP.NET
    Réponses: 6
    Dernier message: 29/05/2007, 18h00
  3. Suppression de la contrainte unique
    Par mika dans le forum SQL
    Réponses: 3
    Dernier message: 20/02/2003, 17h56
  4. Réponses: 2
    Dernier message: 08/10/2002, 18h26
  5. [TP]Charger un fichier bmp
    Par flavien tetart dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 30/06/2002, 19h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo