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 :

Lazy loading sur component


Sujet :

Hibernate Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 143
    Points : 68
    Points
    68
    Par défaut Lazy loading sur component
    Bonjour

    Je possède une classe A avec un attribut de type String qui stocke le code binaire (encodage base 64) d'une image. En base la colonne est un CLOB.

    Mon problème est le suivant : comment charger via une requête HQL, l'objet sans son BLOB (i.e. faire du lazy loading sur une propriété). N'y parvenant pas avec la String en propriété, j'ai créé une classe B qui contient la String et ai enlevé la String de la classe A. Le but : en faire en component sur lequel peut-être le lazy loading pourrait s'appliquer.

    Le résultat n'est pas probant non plus. Une requête HQL de la forme : "from A where id = :id" envoie toujours une requête SQL dans laquelle le CLOB est dans le SELECT.

    Pourriez vous donc m'aider ?

    Merci

  2. #2
    Membre chevronné
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Points : 1 993
    Points
    1 993
    Par défaut
    J'ai une solution qui passe par une requete HQL

    En fait, tu fais une requete HQL en précisant les éléments que tu veux voir retournés par la requete (donc tous sauf ton cham BLOB)

    Donc une requete du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String HQLRequest = "select id, name from A where id=:id"
    Et ensuite tu récupère chaque résultat sous forme d'un tableau d'objects que tu n'a plus qu'à caster correctement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    List listEquips = query.list();
    for (Iterator iter = listEquips.iterator(); iter.hasNext();) {
                        Object[] objResult = (Object[]) iter.next();
                        ViewClass view = new ViewClass();
                        view.setId(((Long) objResult[0]).longValue());
                        view.setName((String) objResult[1]);
    }

  3. #3
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Dans l'idée de eulbobo, tu peux même écrire :

    "select new ViewClass(id,name) from A where id=:id"

    C'est encore plus simple que de faire les "set" à la main.
    Bien entendu, il te faut le constructeur en conséquence.

Discussions similaires

  1. Question sur les chargements de list (Lazy Loading?)
    Par Kiruaa dans le forum Android
    Réponses: 4
    Dernier message: 25/06/2013, 11h07
  2. Petite question sur le LAZY LOADING
    Par saveriu dans le forum JPA
    Réponses: 11
    Dernier message: 16/03/2010, 11h41
  3. Petite Question sur le lazy loading
    Par Arthis dans le forum ASP.NET
    Réponses: 2
    Dernier message: 19/11/2008, 11h24
  4. [Dojo] lazy loading sur combo
    Par moustaphadiouf dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 29/11/2007, 09h24
  5. [HIBERNATE 3]Lazy loading
    Par SEMPERE Benjamin dans le forum Hibernate
    Réponses: 11
    Dernier message: 08/02/2006, 22h40

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