【问题标题】:Configuring Hibernate XML with P-Namespace使用 P-Namespace 配置 Hibernate XML
【发布时间】:2012-02-01 05:22:45
【问题描述】:

我想使用 p-namespace 重写我的 sessionFactory bean。我了解如何引用一般对象,但我从未处理过列表、道具等。我将如何进行写作等等?

<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-namespace 中的代码:

<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=""/>

【问题讨论】:

    标签: java xml hibernate spring


    【解决方案1】:

    你不能直接这样做。你可以使用 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 以获取有关 p:namespace 的完整帮助

    【讨论】:

    • 就目前而言,使用 utils 超出了我的范围。但这让我想知道——在代码可读性方面,使用 p-namespace 是否会使事情进一步复杂化?
    • 这取决于用户。我很乐意使用属性选项,并尽可能依赖自动检测组件和自动装配。遵循旧 Spring 方法的用户可能会发现注释很有趣,但他们通常会克服它。所以我觉得,在 p:namespace 的情况下,人们也会及时适应编码风格。
    • 让我恼火的是,当我将代码的 util:map 部分输入到 application.xml 时,IDE 检测到错误。查找您引用的参考文献对我没有帮助,因为我不知道足够的 xml。但我想我肯定得去 W3Schools 中的 XML 教程。
    • 那是正确的,因为您还没有定义命名空间和模式位置。你必须有类似于使用的东西 here .springframework.org/schema/beans" xmlns:xsi="w3.org/2001/XMLSchema-instance" xmlns:util="springframework.org/schema/util" xsi:schemaLocation=" springframework.org/schema/util springframework.org/schema/util/spring-util-3.0.xsd">
    猜你喜欢
    • 2013-04-22
    • 2017-12-09
    • 2018-01-31
    • 2010-09-30
    • 2011-11-01
    • 2017-09-04
    • 2018-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多