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 :

hibernate : probleme session.load


Sujet :

Hibernate Java

  1. #1
    Membre habitu�
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    8
    D�tails du profil
    Informations personnelles :
    �ge : 46

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 8
    Par d�faut hibernate : probleme session.load
    Bonjour,

    je poursuis le d�veloppement d'un projet et je tombe sur erreur dont je ne comprend pas :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ...
    INFO: building session factory
    19-sept.-2007 11:20:26 net.sf.hibernate.impl.SessionFactoryObjectFactory addInstance
    INFO: Not binding factory to JNDI, no JNDI name configured
    Exception in thread "main" net.sf.hibernate.ObjectNotFoundException: No row with the given identifier exists: 1, of class: User.DtbUser
    	at net.sf.hibernate.ObjectNotFoundException.throwIfNull(ObjectNotFoundException.java:24)
    	at net.sf.hibernate.impl.SessionImpl.load(SessionImpl.java:1921)
    	at TestHibernate1.main(TestHibernate1.java:33)
    Lorsque je pointe sur ma base de dev, je n'ai pas de probl�me.
    Le probl�me apparait seulement quand je pointe sur ma base de prod et quand j'utilise des session.load.
    (j'ai les m�me donn�es en dev et en prod)

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    Query q2 = session.createQuery("from DtbUser where User_Num = 1");
    DtbUser pers = (DtbUser) q2.list().get(0);
    System.out.println("nom1 = " + pers.getUserName());
    le code ci dessus fonctionne tout le temps

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    DtbUser personne = (DtbUser) session2.load(DtbUser.class, new Integer(1));
    le code ci dessus fonctionne seulement en dev mais pas en prod

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    List list = session.find("from DtbUser");
    Iterator it = list.iterator();
    le code ci dessus fonctionne tout le temps


    voici mon fichier de configuration
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-configuration
        PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
     
    <hibernate-configuration>
    	<session-factory>
    		<!-- local connection properties -->
    		<property name="hibernate.connection.url">
    			jdbc:mysql://10.10.2.1:3306/test
    		</property>
    		<property name="hibernate.connection.driver_class">
    			org.gjt.mm.mysql.Driver
    		</property>
    		<property name="hibernate.connection.username">xxx</property>
    		<property name="hibernate.connection.password">xxx</property>
    		<!-- property name="hibernate.connection.pool_size"></property -->
    		<!-- dialect for MySQL -->
    		<property name="dialect">
    			net.sf.hibernate.dialect.MySQLDialect
    		</property>
    		<property name="hibernate.show_sql">true</property>
    		<property name="hibernate.use_outer_join">true</property>
    		<property name="hibernate.transaction.factory_class">
    			net.sf.hibernate.transaction.JTATransactionFactory
    		</property>
    		<property name="jta.UserTransaction">
    			java:comp/UserTransaction
    		</property>
    		<mapping resource="DtbUser.hbm" />
    	</session-factory>
    </hibernate-configuration>

    voici mon fichier de mapping
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    	"-//Hibernate/Hibernate Mapping DTD//EN"
    	"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
     
    <hibernate-mapping package="User">
    	<class name="DtbUser" table="DTB_USER">
     
    		 <id name="Id" type="integer">
    		 <column name="User_Num" sql-type="integer"/>
    		 <generator class="vm" />
    		 </id>
     
    		<property name="UserOrderBook" type="integer">
    		<column name="User_order_book" sql-type="int(2)" not-null="true"/>
    		</property>
     
     		<property name="UserPwd" type="string">
    		<column name="User_Pwd" sql-type="char(10)" not-null="true"/>
    		</property>
     
     		<property name="UserFirst" type="boolean">
    		<column name="User_First" sql-type="int(1)" not-null="false"/>
    		</property>
     
     		<property name="UserDatePwd" type="date">
    		<column name="User_date_pwd" sql-type="char(10)" not-null="true"/>
    		</property>
     
     		<property name="UserStatut" type="boolean">
    		<column name="User_Statut" sql-type="int(1)" not-null="false"/>
    		</property>
     
     		<property name="UserCode" type="integer">
    		<column name="User_Code" sql-type="int(10)" not-null="false"/>
    		</property>
     
     		<property name="UserId" type="string">
    		<column name="User_Id" sql-type="char(50)" not-null="true"/>
    		</property>
     
     		<property name="UserNbConnection" type="integer">
    		<column name="User_nb_connection" sql-type="int(11)" not-null="true"/>
    		</property>
     
     		<property name="UserName" type="string">
    		<column name="User_Name" sql-type="char(10)" not-null="true"/>
    		</property>
     
     		<property name="UserNbCentConnection" type="integer">
    		<column name="User_nb_cent_connection" sql-type="int(11)" not-null="true"/>
    		</property>
     
    	</class>
    </hibernate-mapping>

    je vous remercie par avance pour votre aide.

  2. #2
    Membre confirm�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    109
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 109
    Par d�faut
    Je sais pas si �a peut t'aider:
    http://gmarwaha.blogspot.com/2007/01...-sessions.html

    en gros:
    load doit �tre utilis� si tu est sur que l'objet existe en base, sinon �a g�nere une exception...
    entoure ton code d'un
    try{}
    catch (ObjectNotFoundException e) {
    logger.error(e+" L'Objet n'existe pas");
    }

    sinon utilise plut�t get() qui te retourne un objet null si l'objet n'existe pas...

    Bonne cance

  3. #3
    Membre habitu�
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    8
    D�tails du profil
    Informations personnelles :
    �ge : 46

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 8
    Par d�faut
    Merci pour ta r�ponse debutanteVB.NET.

    J'avais bien mis mon code dans un try catch, ce qui �vitait de faire planter lamentablement mon serveur tomcat.

    Je viens de trouver le probl�me. Mes deux version e MySql sont diff�rentes entre la prod(4.1.21) et le dev(4.0.17). Le driver JDBC que j'utilisais via hibernate ne pouvait fonctionner correctement avec la prod car le driver ne supportait pas la version de mySql.

    Encore merci pour ta r�ponse et bonne journ�e.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 29/11/2007, 15h25
  2. hibernate : probleme suppression objet et session
    Par christools7 dans le forum Hibernate
    R�ponses: 5
    Dernier message: 31/08/2007, 18h04
  3. Probleme Hibernate + JPA -> lazy loading non respect�
    Par MikoMax dans le forum Hibernate
    R�ponses: 1
    Dernier message: 28/08/2007, 15h13
  4. R�ponses: 1
    Dernier message: 28/06/2007, 18h05
  5. Probleme de session.load
    Par edenyorke dans le forum Hibernate
    R�ponses: 2
    Dernier message: 08/06/2007, 13h00

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