0

我正在对 Hibernate 应用程序进行一些更新。其中使用了 Struts 和 Spring。我们在配置文件(.cfg 文件)中输入 .hbm 文件。但是当将 spring 与 hibernate 应用程序一起使用时,我们会在 application context.xml 中输入条目。但我无法在整个应用程序中找到配置条目。是否有任何其他类我们配置了 .hbm 文件

我正在这里定义一个任务:链接文本 我正在更新应用程序。在这许多 hbm 文件中存在。我还创建了一个新的 .hbm.xml 文件。现在我想配置这个新的 .hbm 文件。但在整个应用程序中,我找不到配置所有 .hbm 文件的配置文件。

4

2 回答 2

2

Hibernate 映射文件要么声明:

以编程方式创建Configuration

例如:

Configuration cfg = new Configuration()
    .addResource("Item.hbm.xml")
    .addResource("Bid.hbm.xml");

在 Hibernate XML 配置文件中

例如:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory name="">

    <!-- Database connection settings -->
    <property name="connection.driver_class">${jdbc.driver}</property>
    <property name="connection.url">${jdbc.url}</property>
    <property name="connection.username">${jdbc.user}</property>
    <property name="connection.password">${jdbc.password}</property>

    ...

    <mapping resource="com/acme/Foo.hbm.xml"/>
    <mapping resource="com/acme/Bar.hbm.xml"/>
    ...
  </session-factory>
</hibernate-configuration>

在 Spring XML 应用程序上下文定义中

例如:

<beans>

  <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="org.hsqldb.jdbcDriver"/>
    <property name="url" value="jdbc:hsqldb:hsql://localhost:9001"/>
    <property name="username" value="sa"/>
    <property name="password" value=""/>
  </bean>

  <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>

</beans>

由于您使用的是 Spring,因此您很可能使用上述方法。

资源


而且由于有资源,恐怕如果不显示更多内容(这可能是不可能的),您将无法获得任何更具体的帮助。如果需要,请进行文本搜索,无法隐藏内容。

于 2010-10-21T15:15:00.970 回答
0
    @Autowired
    private ResourceLoader rl;

    public Resource[] loadResources() {
      Resource[] resources = null;
    try {
        resources = ResourcePatternUtils.getResourcePatternResolver(rl)
                .getResources("classpath:/hibernate/*.hbm.xml");
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return resources;

}
于 2016-04-28T10:58:09.950 回答