bonjour
je reçois ce message d'erreur quand j'essai de persister un objet personne.
mon fichier de mapping est le suivant:org.springframework.dao.InvalidDataAccessApiUsageException: object references an unsaved transient instance - save the transient instance before flushing: com.sif.intranet.model.Personne; nested exception is org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.sif.intranet.model.Personne
org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:657)
org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:413)
org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:363)
org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:595)
com.sif.intranet.dao.impl.PersonneDAO.createPersonne(PersonneDAO.java:17)
com.sif.intranet.services.impl.PersonneServiceImpl.addPersonne(PersonneServiceImpl.java:20)
com.sif.intranet.actions.user.UserAction.register(UserAction.java:80)....
Code xml : 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 <hibernate-mapping> <class name="com.sif.intranet.model.Personne" table="personne"> <id name="persId" type="java.lang.Integer"> <column name="PersId" /> <generator class="identity" /> </id> <property name="nom" type="java.lang.String"> <column name="Nom" length="20" not-null="true" /> </property> <property name="prenom" type="java.lang.String"> <column name="prenom" length="20" not-null="true" /> </property> <many-to-one name="superieur" class="com.sif.intranet.model.Personne" cascade="none" not-null="false" > </many-to-one> <one-to-one name="user" class="com.sif.intranet.model.User" property-ref="personne" /> <set name="subalternes" inverse="true" cascade="none" > <key column="superieur" not-null="false" /> <one-to-many class="com.sif.intranet.model.Personne" /> </set> </class> </hibernate-mapping>
et le probleme se trouve entre un objet personne et un objet superieur quand ce dernier est égal à null, les deux objets sont de la même classe, malgré que j'utilise : not-null="false" hibernate recherche le superieur et çà pose probleme quand ce dernier est égal à null.
Merci pour votre aide !
Partager