26.7. Spring での Seam 管理 Hibernate セッションの使用
Seam への Spring 統合により Spring のツールを使った Seam 管理 Hibernate セッションへの完全アクセスに対応することもできます。 この統合は JPA 統合に非常によく似ています。 詳細は 「Spring での Seam 管理永続コンテキストの使用」 を参照してください。
Spring の伝播モデルは
EntityManagerFactory ごとの 1 つのオープンな EntityManager のみ Spring ツールに対して利用できるようにします。このため、 Seam はプロキシの SessionFactory を Seam 管理の Hibernate セッションコンテキストでラップすることで統合を行います。
<bean id="seamSessionFactory"
class="org.jboss.seam.ioc.spring.SeamManagedSessionFactoryBean">
<property name="sessionName" value="hibernateSession"/>
</bean>
<bean id="seamSessionFactory"
class="org.jboss.seam.ioc.spring.SeamManagedSessionFactoryBean">
<property name="sessionName" value="hibernateSession"/>
</bean>
sessionName は persistence:managed-hibernate-session コンポーネントの名前です。 これでこの SessionFactory はいずれの Spring 提供ツールでも使用することができます。 この統合は SeamManagedSessionFactory で getCurrentInstance() を呼び出している場合であれば SessionFactory.getCurrentInstance() に対する呼び出しにも対応します。