【问题标题】:How can I inherit Hibernate filters with annotations?如何继承带有注释的 Hibernate 过滤器?
【发布时间】:2010-10-16 05:30:00
【问题描述】:

我正在尝试设置带有注释的 Hibernate 过滤器。我想在基类中指定它并让所有子类都使用它,但是每当我尝试启用它时,Hibernate 都找不到过滤器。是否有可能继承过滤器注释?

【问题讨论】:

    标签: java hibernate filter annotations


    【解决方案1】:

    自 3.5.0 起,@MappedSuperclass 至少是可能的。 不确定这是否对您有帮助...请参阅:HHH-4332

    【讨论】:

      【解决方案2】:

      您是直接使用休眠过滤器,还是出于自己的目的扩展休眠过滤器?默认情况下,Java 中不会继承注解,但如果您自己编写注解,并且我假设 hibernate 没有对其注解执行此操作,您可以在注解上指定 @Inherited 元注解以使其继承.不过,这只适用于类型级别的注释。另外,some people 编写一个注解管理器来模拟完全继承。你可以做类似的事情,要么扩展休眠机制,要么编写一个预处理器,在它们应该被继承的地方添加注释。

      【讨论】:

        【解决方案3】:

        John Ellinwood 所写的正是如此。这就是为什么需要在所有子类上指定 @Filter 的原因,至少在 Hibernate Annotations 3.4.0-GA 中是这样。

        此外,尽管这可能不明显,但您需要对该类的所有映射集合使用相同的注释,如果您希望这些集合也容易受到过滤的话。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-05-27
          • 1970-01-01
          • 2012-04-05
          • 2012-03-20
          • 1970-01-01
          • 2023-03-10
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多