碰到一个比较恼火的问题,相当郁闷~~~~
我先说一下我做的东西吧:需求就是,不重启服务器的前提下,动态的修改数据库的表,字段,而且必须使用hibernate。我使用的方法是,直接手动生成java的类文件,和hibernate的映射文件。问题是:一旦使用了session之后,sessionfactory就构建好了,那么再手动修改java类和映射文件的话,sessionfactory根本认不到,必须重启服务器才行,我自己有试过讲sessionfactory重构,下面是具体的函数:
[code=Java]public void reset()
{
Session session = getCurrentSession();//返回当前session
if (session != null)
{
session.flush();
if (session.isOpen())
{
System.out.print("closing session ... ");
session.close();
System.out.println("ok");
}
}
SessionFactory sf = getSessionFactory();
if (sf != null)
{
System.out.print("closing session factory ... ");
sf.close();
System.out.println("ok");
}
this.configuration = null;
this.sessionFactory = null;
this.session = null;
}[/code]
但是并没有效果!
我现在想知道的就是tomcat重启的时候对sessionfactory做了什么,我想仿照他,去重载sessionfactory。或者说是不是我的reset()方法写错了,哪位牛人帮我看看,郁闷了几个月了........
[b]问题补充:[/b]
http://www.iteye.com/topic/197752
似乎是我要的东西,先谢过。。