【问题标题】:Is class extends annotations of an other?类是否扩展了另一个注解?
【发布时间】:2012-06-10 18:44:50
【问题描述】:

我有一个类 Foo,它有一个 @Entity 和 @Table 注释,还有一个类 Bar,它扩展了 Foo。 注释是在 Bar 类上吗?如果没有,我可以强制吗?

非常感谢! 山姆。

【问题讨论】:

    标签: java annotations


    【解决方案1】:

    注解不会被继承。

    您可以在此处阅读更多内容:http://fusionsoft-online.com/articles-java-annotations.php

    其他一些参考资料: https://stackoverflow.com/a/1644135/1001027https://stackoverflow.com/a/4745820/1001027

    例外是其声明带有@Inherited 注释的注释。

    【讨论】:

    • 默认情况下,注释不会被继承。但是,如果使用 @Inherited 注释进行元注释,则注释继承的(从超类)。
    • @matts:你是对的,如果它的声明(注解本身)被@Inherited注解,注解会被继承。
    【解决方案2】:

    @Entity@Table 注解默认不被继承,但是您可以在超类上使用@Inheritance 注解使它们被继承到子类。

    更多信息请看这里:http://en.wikibooks.org/wiki/Java_Persistence/Inheritance

    【讨论】:

      【解决方案3】:

      检查@MappedSuperclass注解。

      【讨论】:

      • 这个只对JPA有效,对纯java没有意义
      猜你喜欢
      • 2013-04-09
      • 2014-10-21
      • 1970-01-01
      • 1970-01-01
      • 2011-06-09
      • 1970-01-01
      • 1970-01-01
      • 2015-08-02
      • 1970-01-01
      相关资源
      最近更新 更多