Hibernate 4.3.5 V $ Session.Program Configurationプロパティを無視します
-
26-12-2019 - |
質問
以前はHibernate 3.2とBoneCPを使用しましたが、私のJavaアプリケーションをOracleデータベースに接続するには、Hibernate 4.3.5とHikari Connection Poolにアップグレードしました。私はv $ session.programをプログラム名に設定し、それをHibernate設定に追加します。
Hibernateによって提供されるConfiguration
クラスを拡張する独自のHibernate構成クラスを作成しました。
public class MyConfiguration extends Configuration {
private static final long serialVersionUID = 1L;
public MyConfiguration() { }
public MyConfiguration(SettingsFactory settingsFactory) {
super(settingsFactory);
}
@Override
public SessionFactory buildSessionFactory() throws HibernateException {
ServiceRegistry registry = new StandardServiceRegistryBuilder()
.applySettings(getProperties()).build();
return new MySessionFactory(super.buildSessionFactory(registry));
}
}
.
MySessionFactory
は、SessionImplのPersistenceContextフィールドを介してMagicを実行するSessionFactoryのカスタムラッパーです(これも問題になるため、アップグレードの前に機能します)。
それから私は
を呼び出すDocument configDocument = loadHibernateConfigruationDocument();
MyConfiguration conf = new MyConfiguration();
conf.configure(configDocument);
conf.buildSessionFactory();
.
しかし私がデータベースに移動した場合(アプリケーションが実行されている間)とquery
SELECT MACHINE, PROGRAM, USERNAME, count(*) as COUNT FROM v$session GROUP BY MACHINE, PROGRAM, USERNAME;
.
私が始めたばかりのプログラムを見つけることができません。私が間違っていることはどんなアイデアですか?
解決
私は解決策を見つけました。私の設定とeverthingは、hibernate.hikari.dataSource.v$session.program
and hibernate.hikari.dataSource.v$session.username
を追加しました。
所属していません StackOverflow