java - 将注释应用于从@MappedSuperclass继承的字段

标签 java inheritance jpa annotations mappedsuperclass

有:

@MappedSuperclass
class Superclass {

    @Id
    @Column(name = "id")
    protected long id;

    @Column(name="field")
    private long field;

}


@Entity
class Subclass extends Superclass {

}

如何用@generatedvalue注释继承的id,在子类中用@index注释字段?

最佳答案

如何用@generatedvalue注释继承的id,在子类中用@index注释字段?
当然,您不能这样做。您可以做的是使用AttributeOverrideAssociationOverride注释重写属性和关联(即更改列或联接列)。但你不能完全按照你的要求去做。
对于GeneratedValue,如果不想在映射的超类中声明策略,请考虑使用xml映射来覆盖该策略。
对于Index(顺便说一下,这不是一个标准的注释),您是否真正尝试使用hibernate的Table注释在表级别声明它(我假设您使用的是hibernate)?

@Table(appliesTo="tableName", indexes = { @Index(name="index1", columnNames=
    {"column1", "column2"} ) } ) 


表tablename的列。
工具书类
JPA 1.0规范
第2.1.9.2节“映射超类”
第9.1.10节“属性覆盖注释”
第9.1.11节“属性覆盖注释”
第9.1.12节“AssociationOverride注释”
第9.1.13节“AssociationOverrides注释”
Hibernate注释参考指南
2.4. Hibernate Annotation Extensions
Chapter 3. Overriding metadata through XML

本文翻译自 https://stackoverflow.com/questions/3831395/

网站遵循 CC BY-SA 4.0 协议,转载或引用请注明出处。


相关文章:

java - Tomcat7尝试进行不存在的战争,然后失败

django - PostgreSQL的Django模型继承错误

python - 通过__init __()方法了解Python super()

java - JPA删除。在这种情况下,推荐的做法是什么?

java - 如何生成针对每个Arquillian测试量身定制的persistence.xml?

java - Matlab可以生成Java源代码吗? [关闭]

java - 使用葫芦测试为Android调用后门功能的问题

mysql - Spring Roo-多对多关系删除并在每次更新时插入-如何更改此行为

java - 寻找一种有效的方法来从2个列表中查找排序的订单

c++ - 如何覆盖另一个基类中的函数?