2012-01-03 14 views
1

我想用p名稱空間重寫我的sessionFactory豆。我明白如何引用一般對象,但我從來沒有處理名單,道具等,我怎麼會去寫作,等等?配置的Hibernate XML與P-命名空間

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

    <property name="mappingResources"> 
     <list> 
      <value>/com/mysite/domain/Object.hbm.xml</value> 
     </list> 
    </property> 

    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop> 
      <prop key="hibernate.show_sql">true</prop> 
      <prop key="hibernate.hbm2ddl.auto">update</prop> 
     </props> 
    </property> 
</bean> 

這是我迄今爲止在p名稱空間的代碼:

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" 
    p:dataSource-ref="dataSource" 
    p:mappingResources-list="/com/mysite/domain/Object.hbm.xml" 
    p:hibernateProperties-props=""/> 

回答

2

你不能直接這樣做。你可以使用util:map。嘗試使用頁上的完整的幫助

<util:map id="hibernateConfig" > 
     <entry key="hibernate.hbm2ddl.auto" value="update" /> 
     <entry key="hibernate.show_sql" value="true" /> 
     <!-- Other properties --> 
    </util:map> 

    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" 
    p:dataSource-ref="dataSource" 
    p:mappingResources-list="/com/mysite/domain/Object.hbm.xml" 
    p:hibernateProperties-ref ="hibernateConfig"/> 

檢查This:命名空間

+0

至於現在,使用utils的是超越我。但是,這讓我想知道 - 使用p-namespace是否會使代碼可讀性更復雜? – harryo 2012-01-03 06:07:18

+0

這取決於用戶。我很喜歡使用屬性選項,並依賴自動檢測組件和自動裝配,只要我可以。遵循較舊的Spring方法的用戶可能會發現註釋很有趣,但他們通常會克服它。所以我覺得,在p:命名空間的情況下,人們會及時習慣編碼風格。 – 2012-01-03 06:13:54

+0

哪點讓我的是,當我在UTIL進入:代碼的地圖部分進入我的application.xml,在IDE檢測到錯誤。查找引用的引用並不能幫助我*但*,因爲我不知道足夠的xml。但是我想我肯定會在W3Schools中打開XML教程。 – harryo 2012-01-03 06:27:59