Spring對Hibernate Session Factory提供了高度封裝。如下例所示。
<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="myDataSource"/>
<property name="mappingResources">
<list>
<value>product.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.HSQLDialect
</value>
</property>
</bean>
然而,在我的案例中,因為業務需要,我們必須在運行時加入新的HBM。在單獨使用Hibernate的時,只要取到Hiberante Configuration對象,修改一下配置,然后rebuild session factory就可以了。
可是經Spring這一封裝,我只能取到一個只讀的SessionFactory對象,無法進行重置。
這里有兩種可能方法,但我都不知道如何做。
1,取到LocalSessionFactoryBean對象進行重置。
2,取到Hibernate Configuration對象進行重置。
Technorati : Hibernate, Java, Spring