2012-10-16 68 views
0

從之前的問題一些搜索我已經看到了,我不能期望有提供給我一個Hibernate會話與@PostConstruct註釋的方法我見過如this one解決方案,這表明剛剛從會話創建自己的會話工廠是這樣的:Spring,@PostConstruct,transactions ...並且會在這種解決方法中發生什麼壞事?

getSession().getSessionFactory().openSession() 

這個工作對我來說就像魅力,但感覺有點...關閉...有沒有任何潛在的缺陷我應該知道的?

回答

0

春季管理你的Hibernate Session小號邊界一個每個線程。

我不能指望有與@PostConstruct

那是假的註釋的方法 提供給我一個Hibernate會話,你可以在這一點會話。

您可以在許多方面做到這一點,一個是定義會話的一個bean,並告訴春通過SessionFactory的bean的工廠方法「的openSession」進行實例化。就像這樣:

<!-- Prototype so there is a new Session in every injection --> 
    <bean id="newSession" scope="prototype" class="...Session" factory-bean="sessionFactory" 
     factory-method="openSession" ... > 
    </bean> 

另外你可能想告訴Spring通過Spring SessionFactory實現來使用Hibernate管理的Sessions。

相關問題