4

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

4

3 回答 3

4

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

于 2010-06-22T19:50:55.937 回答
2

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

于 2009-03-29T14:54:14.997 回答
0

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

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

于 2009-03-29T22:15:59.443 回答