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;
我无法找到我刚开始的计划。任何想法我做错了什么?