如何使用注释继承Hibernate过滤器?

时间:2009-03-29 13:28:45

标签: java hibernate filter annotations

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

3 个答案:

答案 0 :(得分:3)

从3.5.0开始,@MappedSuperclass至少可以实现。 不确定这是否对您有帮助...请参阅:HHH-4332

答案 1 :(得分:2)

您是直接使用hibernate过滤器,还是为了自己的目的而扩展hibernate过滤器? Java中没有默认继承注释,但如果您自己编写注释,并且我假设hibernate没有在注释上执行此操作,则可以在注释上指定@Inherited元注释以使其继承。但这仅适用于类型级别注释。此外,some people编写注释管理器以模拟完全继承。您可以执行类似的操作,或者扩展休眠机制,或者编写一个预处理器,将注释添加到应该继承的位置。

答案 2 :(得分:0)

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

此外,尽管这可能并不明显,但如果您希望这些集合也容易被过滤,那么您将需要在该类的所有映射集合上使用相同的注释。