Thank you for your answer.

What is the difference between tapestry-hibernate module and an per Thread session instanced by tapestry-ioc? Is there any disadvantage when switching?

Could you send some code snipplets of your tapestry-ioc hibernate-session service?

Is this something like the good old HibernateUtil implementation or did you handle something special because of opening and closing of transaction per request?

   public static SessionFactory buildSessionFactory(){
       SessionFactory sessionFactory=null;
       try {
           sessionFactory = new AnnotationConfiguration().configure()
                   .buildSessionFactory();
       } catch (Throwable ex) {
           throw new ExceptionInInitializerError(ex);
       }
        return sessionFactory;
   }

   @Scope("perthread")
public static Session buildHibernateSession(SessionFactory sessionFactory ){
       return sessionFactory.openSession();
   }

I have looked into the code of FullTextSessionImpl in hibernate-search. Do you know why they are casting between org.hibernate.Session to org.hibernate.classic.Session?

Thanks a lot,
Thomas

Ted Steen schrieb:
This happens because the session becomes a proxy when you make a service of it.
I guess you have a thread scope on the hibernate session? well, then
tapestry-ioc will wrap the session in a proxy that will give you a new
session per request.

Actually its neither a tapestry-hibernate nor hibernate-search issue.
the problem is that lucene appears to try to cast the session, which
fails because its hidden inside the proxy.

Our solution was to wrap the session in a service and make that
service per-thread instead.

Hope it helps!

2007/11/3, T. Papke <[EMAIL PROTECTED]>:
Hi,

in my project, i currently use hibernate 3.2.5 (and hibernate-search
3.0.0) together with tapestry 5.0.6 (and tapestry-hibernate module). The
"normal" Hiberate works as excpeted, but the hibernate fulltext-search
runs against an exception - i think because of wrong init of the
hibernate session inside the tapestry module.

I do:
....
FullTextSession fullTextSession = Search.createFullTextSession(
hibernateSession );
....

If i try to get a FullTextSession object, i got:
"java.lang.ClassCastException: Processing of request failed with
uncaught exception: $Session_11606936826 cannot be cast to
org.hibernate.classic.Session"
    at
org.hibernate.search.impl.FullTextSessionImpl.<init>(FullTextSessionImpl.java:69)
    ....

If i create the hibernate session by myself, everything thems to be
working.

Is that a bug of Hibernate-search or a bug of tapestry-hibernate module?

Thanks a lot,
Thomas



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





Reply via email to