-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: [Débutant] Requète HQL
PostPosted: Fri Dec 30, 2005 6:39 am 
Newbie

Joined: Fri Dec 30, 2005 5:55 am
Posts: 7
Location: Grenoble
Hibernate version: 3.1

Name and version of the database you are using:
Base de données utilisée : SQL Server

IDE utilisé : Eclipse 3.1

Code between sessionFactory.openSession() and session.close():

Code:
            tx = session.beginTransaction();
            Entreprise e = (Entreprise)session.get(Entreprise.class, new Integer(1));
            System.out.println("Sortie : " + e.getRaisonSociale());
            tx.commit();
        }


Full stack trace of any exception that occurs:
Code:
java.lang.NullPointerException
   at org.hibernate.tuple.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:372)
   at org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:3121)
   at org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:232)
   at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:173)
   at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87)
   at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:869)
   at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:838)
   at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:266)
   at org.hibernate.type.EntityType.resolve(EntityType.java:303)
   at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:113)
   at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842)
   at org.hibernate.loader.Loader.doQuery(Loader.java:717)
   at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
   at org.hibernate.loader.Loader.loadEntity(Loader.java:1785)
   at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:93)
   at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:81)
   at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:2730)
   at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:365)
   at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:346)
   at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:123)
   at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:177)
   at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87)
   at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:869)
   at org.hibernate.impl.SessionImpl.get(SessionImpl.java:806)
   at org.hibernate.impl.SessionImpl.get(SessionImpl.java:799)
   at Modifier.main(Modifier.java:29)


Voilà, ces petites informations précisées, j'ai trois tables vraiment très simples, Entreprise, Salarié et Divers.
Une relation existe entre Entreprise et Salarié, et une autre entre Salarié et Divers.
J'ai généré mes mappings et mes classes java dans Eclipse avec Hibernate Tools.
J'ai créé une classe java pour tester la connexion à ma base (Modifier.java).
Je lance une requète toute bête :
Entreprise e = (Entreprise)session.get(Entreprise.class, new Integer(1));
System.out.println("Sortie : " + e.getRaisonSociale());
Avec la table (Classe) Entreprise, ça marche nickel.
Par contre aves les 2 autres tables (Salarié et Divers) j'ai le message ci-dessus. Précision : dans ma requète je remplace par exemple Entreprise par Salarié et je mets à jour dans le println pour une méthode Get correspondant à un champ de la table correspondante.
Suite à ça, j'ai supprimé les relations entre les tables.
Je regénère tous les mappings et les classes.
Je relance mon programme de test, et là tout marche !!!
Comment cela se fait il que les relations entre mes tables puisse gêner le lancement de mes requète HQL, qui sont vraiment des plus simples !!
Merci pour votre aide.

_________________
Mickey


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.