0

我已经在谷歌上搜索了大约一个小时,但收效甚微。

假设在我的web.xml我有:

<Parameter name="hibernate.websitespecific.entityscanpackages" value="com.mystuff.pojo.entities, com.mystuff.otherpackage.pojo.entities"/>

在我的春季上下文配置中,我有:

 <bean id="sessionFactory"
          class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="packagesToScan">
            <list>
                <value>com.mystuff.somethingelse.pojo</value>
                <value>com.mystuff.weirdbeans.domain</value>
            </list>
        </property>
[...]

我想以hibernate.websitespecific.entityscanpackages干净的方式添加到要扫描的包列表中。我怎么做?

4

1 回答 1

1

您可以使用 SPEL 在 bean 定义文件中引用上下文参数:

例如:

<property name="foo" value="#{contextParameters.fooParamName}" />

编辑

合并两个包列表:

<property name="packagesToScan" value="#{contextParameters.paramName + ',pk1,pk2,pk3'}"/>

或者

<property name="packagesToScan" value="#{contextParameters.paramName + ',' + T(org.springframework.util.StringUtils).collectionToCommaDelimitedString(@someList)}" />

    <util:list id="someList">
      <value>pk1</value>
      <value>pk2</value>
     ...
    </util:list>
于 2013-02-15T09:35:10.020 回答