-->
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.  [ 4 posts ] 
Author Message
 Post subject: Intercepor onSave
PostPosted: Wed Feb 08, 2006 11:59 am 
Newbie

Joined: Tue Feb 07, 2006 2:00 pm
Posts: 5
Bonjour,

qqun a-t-il déjà utiliser le onSave de Interceptor en 3.1 ??

Ci-dessous le code que j'essaye de mettre en place

HibernateInterceptor dérive de EmptyInterceptor
et surcharge la methode onSave

// Obtenir session et lui rattaché un Interceptor
session = sessionFactory.openSession(new HibernateInterceptor());

MaClassA maClassA = (MaClassA) session.load(MaClassA.class, new Integer(1));

System.out.println(maClassA.getLibelle());

// on modifie qqch
maClassA.setLibelle(Double.toString(Math.random() * 100));

// on sauve tout ça
session.beginTransaction();
session.saveOrUpdate(maClassA);
session.flush();
session.getTransaction().commit();


Dans mon cas, la methode onSave de mon interceptor n'est pas appelé.
Qqun a-t-il une idée ? Déjà eut le pb ?


Merci d'avance
Daco


Top
 Profile  
 
 Post subject:
PostPosted: Thu Feb 09, 2006 7:56 am 
Regular
Regular

Joined: Tue May 03, 2005 8:19 am
Posts: 53
Location: Paris
Comment a tu déclaré ton Interceptor ?

Cela marche chez moi avec
Code:
cfg.setInterceptor(new HibernateInterceptor ());


Voila ce que dit la doc :
Quote:
L'intercepteur doit être spécifié quand une session est créée.

Session session = sf.openSession( new AuditInterceptor() );

Vous pouvez aussi mettre un intercepteur au niveau global, en utilisant l'objet Configuration. Dans ce cas, l'intercepteur doit être "threadsafe".

new Configuration().setInterceptor( new AuditInterceptor() );



Regarde la classe org.hibernate.test.interceptor.InterceptorTest qui implémente un test avec la méthode openSession( Interceptor )


Top
 Profile  
 
 Post subject:
PostPosted: Fri Feb 10, 2006 5:42 am 
Newbie

Joined: Tue Feb 07, 2006 2:00 pm
Posts: 5
je déclare mon interceptor à l'ouverture de la session

session = sessionFactory.openSession(new HibernateInterceptor());

je vais regarder plus en détail le test, mais pour l'instant
j'ai l'impression que la methode openSession du TestCase
renvoie une classe org.hibernate.classic.Session
ce qui si j'ai bien compris correspond à l'ancienne classe Session hibernate2

si tu as un exempe complet que tu as ecrit et qui marche je suis preneur :)

Merci bcp

Daco


Top
 Profile  
 
 Post subject:
PostPosted: Fri Feb 10, 2006 6:51 am 
Regular
Regular

Joined: Tue May 03, 2005 8:19 am
Posts: 53
Location: Paris
Ton code aussi récupére des org.hibernate.classic.Session.
C'est ce que renvoi la SessionFactory

http://www.hibernate.org/hib_docs/v3/ap ... nterceptor)

Bonne chance quand même


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

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.