Session Factory BeanをXMLで構成します。既定のセッション名は、コードのリソースフォルダにあるプロパティファイルから読み取られます。新しい目的のために、実行時にデフォルトのスキーマプロパティを別のものに変更する必要があります。私はどのように把握することはできません。実行時にHibernateのSessionFactoryのデフォルトスキーマ設定を変更するにはどうすればよいですか?
次のようにセッションファクトリは、XML配線に作成されます。
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.default_schema">${oracle.default_schema}</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
<prop key="hibernate.generate_statistics">false</prop>
... other properties ...
</props>
</property>
... lots of mapping files and annotated classes ...
私はおそらく(私が望んだ)デフォルトのセッションを無効にするには、プロパティのクラスを提供し、Springのコンテキストのうちのセッションファクトリを引くと考えていました財産と何も、そして私の方法で幸せに続けなさい。
残念ながら、セッションファクトリBeanをコンテキストから取得しようとすると、そのタイプはSessionFactoryImpl
であり、AnnotationSessionFactoryBean
ではありません。つまり、setHibernateProperties()
メソッドは私には利用できません。
ALTER SESSION
のいずれかに電話することができるかどうかわかりません。セッションファクトリはライブラリのDAOクラスによって取得されるため、セッションファクトリを必要なコードで簡単にラップする方法はありません。
アイデア?