Tim*_*kov 4 java inheritance annotations jpa mappedsuperclass
具有:
@MappedSuperclass
class Superclass {
@Id
@Column(name = "id")
protected long id;
@Column(name="field")
private long field;
}
Run Code Online (Sandbox Code Playgroud)
和
@Entity
class Subclass extends Superclass {
}
Run Code Online (Sandbox Code Playgroud)
如何使用@GeneratedValue注释继承的id,使用@Index在Subclass中注释?
如何使用@GeneratedValue注释继承的id,使用@Index在Subclass中注释?
AFAIK,你做不到.您可以做的是使用AttributeOverride和AssociationOverride注释覆盖属性和关联(即更改列或连接列).但你不能完全按照你的要求去做.
对于GeneratedValue,如果您不想在映射的超类中声明它,请考虑使用XML映射来覆盖策略.
对于Index(顺便说一下,这不是标准注释),您是否真的尝试使用Hibernate的Table注释在表级别声明它(我假设您正在使用Hibernate)?
Run Code Online (Sandbox Code Playgroud)@Table(appliesTo="tableName", indexes = { @Index(name="index1", columnNames= {"column1", "column2"} ) } )在表tableName的列上创建已定义的索引.