0

以前に、アプリケーションサーバー自体でデータソースを構成し、それをアプリケーションレベルの hbr.xml ファイルに次のように渡しています。

<property name="hibernate.connection.datasource">java:comp/env/jdbc/myDataSource</property>

これで、applicationContext.xml でデータソースを次のように構成しました。

<bean id="mydatasource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
            <property name="url"
                value="jdbc:sqlserver://localhost:1433;databaseName=mydatasource;maxPoolSize=100" />
            <property name="username" value="sa" />
            <property name="password" value="${database.password}"/>

    </bean>

これを hbr.xml ファイルに渡す方法は? 以下に示す別の質問に基づいて、私のセッション ファクトリのクラスはどうあるべきかということです。それはorg.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean ORである必要があります

org.springframework.orm.hibernate3.LocalSessionFactoryBean
4

1 に答える 1

0

Hibernate マッピングと共にデータソースを DAO に挿入します。

<bean id="mydatasource" ...>
  ...
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
  <property name="dataSource" ref="mydatasource" />
  <property name="mappingResources">
    <list>
      <value>path/to/your/mappings.hbm.xml</value>
    </list>
  </property>
  <property name="hibernateProperties">
    <props><!-- see http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/session-configuration.html -->
      <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
      ....
    </props>
  </property>
  ...
</bean>

アノテーションを使用すると、注入された Bean を介してデータソースにアクセスできます

@Resource
private SessionFactory sessionFactory;
...
Session session = this.sessionFactory.getCurrentSession();
于 2012-05-29T22:47:09.367 に答える