1. 程式人生 > >Spring 的HibernateTemplate 支援配置

Spring 的HibernateTemplate 支援配置

最近在看spring的文件,看到關於HibernateTemplate的配置,發覺有兩種(當然啦,不止兩種)

第一種是手動配置HibernateTemplate,即在實現的Dao中加上下面這句話

private HibernateTemplate hibernateTemplate;  
 public HibernateTemplate getHibernateTemplate() {
  return hibernateTemplate;
 }
 @Resource
 public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
  this.hibernateTemplate = hibernateTemplate;
 }

並在applicationContex.xml中新增如下配置

<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
    <property name="sessionFactory" ref="sessionFactory"></property>
</bean>

第二種是採用Hibernate提供的HibernateDaoSupport,即讓實現的Dao去繼承HibernateDaoSupport,此時無需手動配置HibernateTemplate,只要在applicationContext.xml中新增如下配置

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory">
   <ref bean="sessionFactory"/>
  </property>
 </bean>

關於上面這xml配置,其實在配置事務的時候也要用到,即第一種配置已經包含了第二種配置。

PS:配置HibernateTemplate主要是為了使用Hibernate封裝好與資料庫打交道的方法,但其實很多時候,還是需要我們使用到JDBC普通的sql語句,這個時候光使用HibernateTemplate怕是有點難度,最好的方法是手動獲取Session,建立連線,然後在傳入sql語句。