0
我以前使用hibernate 3.2和boneCP,但是我剛剛升級到hibernate 4.3.5和Hikari連接池以將我的java應用程序連接到我的oracle數據庫。我將v $ session.program設置爲我想要的程序名稱並將其添加到休眠配置中。
我創建了自己的hibernate配置類,它擴展了hibernate提供的Configuration
類。
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場(應該是雖然問題,因爲它在升級之前的工作,太)SessionFactory的自定義包裝。
然後我打電話
Document configDocument = loadHibernateConfigruationDocument();
MyConfiguration conf = new MyConfiguration();
conf.configure(configDocument);
conf.buildSessionFactory();
但是,如果我去到數據庫中(同時在應用程序運行)和查詢
SELECT MACHINE, PROGRAM, USERNAME, count(*) as COUNT FROM v$session GROUP BY MACHINE, PROGRAM, USERNAME;
我無法找到我剛開始的計劃。任何想法我做錯了什麼?