hibernate : probleme session.load
Bonjour,
je poursuis le développement d'un projet et je tombe sur erreur dont je ne comprend pas :
Code:
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:
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:
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:
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:
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:
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.