【问题标题】:OSGI - Hibernate + JBoss SeamOSGI - Hibernate + JBoss Seam
【发布时间】:2010-01-08 16:59:24
【问题描述】:

我正在运行一个使用 Hibernate 作为持久性提供程序的 JBoss Seam Web 应用程序。我正在考虑迁移到 OSGI 以简化部署和更新。

我对 OSGI 还没有任何经验,所以我不知道这是否可以做到以及有什么限制。

例如,如果我更改实体类并希望 Hibernate 删除一些表并创建一些新表,这可能吗? hibernate 是否需要挂钩到 OSGI 才能知道删除表 a 并创建表 b?

沃尔特

【问题讨论】:

    标签: java osgi modularity


    【解决方案1】:

    我不确定我是否完全理解您的问题。如果您选择使用 OSGi 来模块化您的应用程序,那么该选择对 Hibernate 的行为没有影响。当然,当您激活捆绑包来管理您的架构时,您可以调用 Hibernate 的 SchemaExportSchemaUpdate API,但 Hibernate 不会为您驱动该过程。你必须自己做。

    【讨论】:

    • 好的,Rob,我认为这是有道理的。所以每次我更新我的实体类时,我都必须调用模式导出/更新?我想我要做的就是添加实体类。如果我更新表结构,自动迁移数据变得更加困难。我需要导出数据,然后使用新架构重新插入。
    • 是的,Hibernate 的 SchemaUpdate 工具非常简单。如果您需要在保留现有数据的同时进行任何类型的非平凡模式转换,您将需要更高级的东西。 (我的公司为此构建了一个内部工具。)无论如何,如果您在捆绑激活期间确实调用了 Hibernate 的模式工具,请记住还要创建新的 Configuration 和 SessionFactory 对象来获取您的更改。
    猜你喜欢
    • 1970-01-01
    • 2010-10-31
    • 2011-10-07
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2011-10-20
    • 2012-09-26
    • 1970-01-01
    相关资源
    最近更新 更多