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 :

Projection renvoie null [Criteria]


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 90
    Par défaut Projection renvoie null
    Bonjour à tous,

    Je viens vers vous car je me casse la tête sur quelque chose que je ne comprend pas depuis un moment et j'en peux plus. J'ai donc un Criteria qui va rechercher des éléments dans une table en base de donnée, mais comme je n'ai pas besoin de tout les éléments de la table j'ai donc utiliser les projections.

    Seulement voilà, je récupère bien le nombre d'éléments dont j'ai besoin, sauf que ceux-ci sont tous à null et je ne vois absolument pas d'où vient mon erreur, si quelqu'un pouvait éclairer ma lanterne se serait sympa

    Sachant que lorsque je veux afficher les résultats dans le Dao même je n'ai tout simplement rien en réponse, et lorsque que j'affiche le résultat dans mon contrôleur j'ai null en réponse.

    Mon criteria :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Criteria query = sessionFactory.getCurrentSession().createCriteria(MetaRelation.class)
    								.add(Restrictions.disjunction()
    										.add(Restrictions.eq("metaClassFrom.id", id))
    										.add(Restrictions.eq("metaClassTo.id", id))
    								)
    								.setProjection(Projections.projectionList()
    									.add(Property.forName("name"))
    									.add(Property.forName("inverseName"))
    									.add(Property.forName("cardinalityFromMin"))
    									.add(Property.forName("cardinalityFromMax"))
    									.add(Property.forName("cardinalityToMin"))
    									.add(Property.forName("cardinalityToMax"))
    									.add(Property.forName("titleFr"))
    									.add(Property.forName("inverseTitleFr"))
    									.add(Property.forName("titleNl"))
    									.add(Property.forName("inverseTitleNl"))
    									.add(Property.forName("titleEn"))
    									.add(Property.forName("inverseTitleEn"))
    								)
    								.setResultTransformer(new AliasToBeanResultTransformer(MetaRelation.class));
    Merci d'avance !

  2. #2
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 90
    Par défaut
    Bon ben j'ai fini par trouver une solution en fait, j'ai procéder ainsi :

    Criteria :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Criteria query = sessionFactory.getCurrentSession().createCriteria(MetaRelation.class)
    												.setProjection(Projections.projectionList()
    													.add(Property.forName("name"))
    													.add(Property.forName("inverseName"))
    													.add(Property.forName("cardinalityFromMin"))
    													.add(Property.forName("cardinalityFromMax"))
    													.add(Property.forName("cardinalityToMin"))
    													.add(Property.forName("cardinalityToMax"))
    													.add(Property.forName("titleFr"))
    													.add(Property.forName("inverseTitleFr"))
    													.add(Property.forName("titleNl"))
    													.add(Property.forName("inverseTitleNl"))
    													.add(Property.forName("titleEn"))
    													.add(Property.forName("inverseTitleEn"))
    												)
    												.add(Restrictions.disjunction()
    													.add(Restrictions.eq("metaClassFrom.id", id))
    													.add(Restrictions.eq("metaClassTo.id", id))
    												);
    Et je remplis l'objet à retourner ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    List<Object[]> result = query.list();
     
    		List<MetaRelation> listMetaRelation = new ArrayList<MetaRelation>();
     
    		for (Object[] row : result){
    			MetaRelation rel = new MetaRelation();
    			rel.setName((String)row[0]);
    			// Tout les autres setters nécessaires
     
    			listMetaRelation.add(rel);
    		}
    Je suis pas sûr que ce soit la meilleure solution possible seulement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MSBuild] Project.EvaluatedProperties["OutputPath"] renvoi null
    Par smyley dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 02/09/2007, 23h13
  2. [ppc] Malloc renvoie NULL !
    Par FamiDoo dans le forum C++
    Réponses: 4
    Dernier message: 18/08/2006, 10h01
  3. Operateur "new" renvoi NULL
    Par Demerzel_01 dans le forum C++
    Réponses: 25
    Dernier message: 07/07/2006, 09h43
  4. [SPL] Rewind() qui renvoie NULL
    Par fadeninev dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 06/06/2006, 15h44
  5. [JDBC]Un new qui renvoie null...
    Par Ditch dans le forum JDBC
    Réponses: 4
    Dernier message: 03/01/2005, 13h14

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