在Hibernate中快速添加表和列?

时间:2011-07-24 20:46:33

标签: hibernate schema runtime

我目前正在使用Hibernate处理应用程序,我们希望能够即时插入列和表,即在运行时,并继续使用应用程序而无需重新启动它。我们目前正在构建实体,但尚未使用它们。我们有旧的C代码(有一天要迁移到Java),它托管我们的业务逻辑,并通过JNI调用Java / Hibernate来从数据库中获取记录。 在阅读了几个线程(参见下面的链接)和hibernate 3.6参考后,我仍然有一些问题:

1。 如果我在我的应用程序中嵌入SchemaUpdate,如下所述: http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/toolsetguide.html#toolsetguide-s1-6 然后我必须重新创建SessionFactory(这是一个昂贵的操作),即使我不使用实体(目前的情况;但在将来,这将改变)?然后,旧会话将无效,即我必须将已经在内存中并由会话维护的实体迁移到新会话?这有可能吗? Hibernate是否为有关schemata的实体维护ORM之外的信息?如下所述,(会话,即第一级)缓存失效是否足够? changes to the schema while hibernate is running

2。 改变列怎么样? 我想这仍然是@Bozho写的:“唉,hibernate不能改变列。”? Hibernate to update table schema

到目前为止,这是我的问题,谢谢你的帮助。

我读过的其他参考文献:

1 个答案:

答案 0 :(得分:5)

是的,有关infoq about adding fields dynamically的文章很好。