0

我有一个Hibernate应用程序,使用鉴别器策略将类层次结构映射到单个表。在v1.0中,它看起来像这样:

  • 抽象类型
    • SubType1 (v1.0) discr= subtype1

然后,我加载了我的应用程序的新版本v2.0,它处理一个新的子类型SubType2,并带有一个新的鉴别器:

  • 抽象类型
    • SubType1 (v1.0) discr= subtype1
    • SubType2 (v2.0) discr= subtype2

在写入一些新数据后,我希望仍然能够将我的代码退到 v1.0,以防出现问题。

为此,我需要v1.0来过滤掉/忽略带有鉴别器subtype2的表行。

如何以通用方式实现这一点,无论是使用JPA API还是Hibernate实现?我可以使用自定义方言“挂钩”到 Hibernate 内部吗?

4

1 回答 1

1

您可以使用休眠的过滤器。以防万一您决定回滚版本 1。您可以在 hibernate cfg 文件中定义行级过滤器。例如,类型 = :v1

于 2015-08-26T17:45:47.153 回答