hbnate中的hbm文件

时间:2010-10-21 09:43:21

标签: java hibernate spring orm hibernate-mapping

我正在Hibernate应用程序中进行一些更新。其中使用了Struts和Spring。 我们在配置文件(.cfg文件)中输入.hbm文件。但是当使用带有hibernate应用程序的spring时,我们在应用程序context.xml中执行条目。 但我无法在整个申请中找到移民条目。 是否有其他类我们配置.hbm文件

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

2 个答案:

答案 0 :(得分: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,因此很可能使用上述方法。

资源


由于拥有消息来源,我担心如果不显示更多内容(这可能是不可能的话),你将无法得到任何更具体的帮助。如果需要,可以进行文本搜索,不能隐藏任何内容。

答案 1 :(得分: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;

}