[Spring & Hibernate] Gestion des sessions Hibernate
	
	
		Bonjour a tous,
dans un projet, j'utilise Spring 2.5.4 et hibernate 3.2.5. jdk 1.4.
mon problème est la gestion des sessions avec hibernate
je récupere en db une personne
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
   |  
public class Person {
       private String lastName;
       private String firstName;
       private Date birthDate;
       ...
       private Set telephone; 
}
public class Telephone {
      private int number;
      private String type;
      ....
}
 
public class PersonDaoImpl extends HibernateDaoSupport implements PersonDao {
 
           public Person getOneById (int personId) {
                 return getSession().createCriteria(Person.class).add (Restrictions.eq("personId",personId)).uniqueResult();
           }
 
 
} | 
 je remonte l'info dans un formulaire updatePerson.jsp
ou je n'affiche que quelque info modifiable + id personne
lorsque je fait un submit, dans mon controller spring je récupere la Personne via son id
je modifie les infos updatée
ensuite je sauvegarde les donnée en db via cette méthode
	Code:
	
1 2 3 4
   |  
public void saveOrUpdate (Person person) {
        getSession().saveOrUpdate(person);
} | 
 et la j'ai un exeption
org.springframework.orm.hibernate3.HibernateSystem Exception: Illegal attempt to associate a collection with two open sessions;
j'ai essayé de modifer ma méthode save or update de cette façon
	Code:
	
1 2 3 4
   |  
Session session = getSession();
session.evict(person);
session.saveOrUpdate(person);  | 
 sans succès
car mon objet se trouve dans la session crée lors du getPersonById et non celle que j'utilise dans mon saveOrUpdate
comment faut il faire pour garder la même session hibernate pour chaque appelle client/serveur ?
est ce que ma façons d'écrire les dao est correcte ?