26.7. Using a Seam-Managed Hibernate Session in Spring

Spring integration into Seam also provides support for complete Spring tool access to a Seam-managed Hibernate session. This integration is very similar to the JPA integration — see Section 26.6, “Using a Seam-Managed Persistence Context in Spring” for details.
Spring's propagation model allows only one open EntityManager per EntityManagerFactory to be available to Spring tools, so Seam integrates by wrapping a proxy SessionFactory around a Seam-managed Hibernate session context.
<bean id="seamSessionFactory" 
    class="org.jboss.seam.ioc.spring.SeamManagedSessionFactoryBean"> 
  <property name="sessionName" value="hibernateSession"/> 
</bean>
Here, sessionName is the name of the persistence:managed-hibernate-session component. This SessionFactory can then be used with any Spring-provided tool. The integration also provides support for calls to SessionFactory.getCurrentInstance(), provided that getCurrentInstance() is called on the SeamManagedSessionFactory.