Configuration在创建完一个sessionFactory后,便把相关配置信息拷贝到sessionFactory的一个缓存中
这样两者便 没什么关系了。但是有时候会进行修改,这时如果想让修改生效,就需要重构sessionFactory的操作。
这时,就要注意了:
sessionFactory实例是全局唯 一,线程安全的。那么在重新构建过程中,我们要对它做到同步,我们应该如何实现呢?这一点,可以参考下文:
synchronized (sessionFactory){
if (null != sessionFactory && !sessionFactory.isClosed()){
sessionFactory.close();
}
if (null != cfg.getProperty(Environment.SESSION_FACTORY_NAME)){
cfg.buildSessionFactory();
}
else{
sessionFactory = cfg.buildSessionFactory();
}
configuration = cfg;
}
另外,及时释放sessionFactory的内存还是很有好处的。
这样两者便 没什么关系了。但是有时候会进行修改,这时如果想让修改生效,就需要重构sessionFactory的操作。
这时,就要注意了:
sessionFactory实例是全局唯 一,线程安全的。那么在重新构建过程中,我们要对它做到同步,我们应该如何实现呢?这一点,可以参考下文:
synchronized (sessionFactory){
if (null != sessionFactory && !sessionFactory.isClosed()){
sessionFactory.close();
}
if (null != cfg.getProperty(Environment.SESSION_FACTORY_NAME)){
cfg.buildSessionFactory();
}
else{
sessionFactory = cfg.buildSessionFactory();
}
configuration = cfg;
}
另外,及时释放sessionFactory的内存还是很有好处的。