0

私は Hibernate アプリケーションの更新に取り組んでいます。StrutsとSpringが使用されています。設定ファイル(.cfgファイル)に.hbmファイルのエントリを行います。ただし、Spring を hibernate アプリで使用する場合は、アプリケーションの 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");

HibernateXML構成ファイル内

例えば:

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

SpringXMLアプリケーションのコンテキスト定義

例えば:

<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 に答える