gpt4 book ai didi

java - 将注解应用于继承自@MappedSuperclass 的字段

转载 作者:搜寻专家 更新时间:2023-11-01 02:17:32 27 4
gpt4 key购买 nike

有:

@MappedSuperclass
class Superclass {

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

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

}

@Entity
class Subclass extends Superclass {

}

如何在子类中用@GeneratedValue注解继承的id,用@Index注解继承的字段?

最佳答案

How to annotate inherited id with @GeneratedValue and field with @Index within Subclass?

据我所知,你不能。您可以做的是使用 AttributeOverrideAssociationOverride 注释覆盖属性和关联(即更改列或连接列)。但是您不能完全按照您的要求去做。

对于 GeneratedValue,如果您不想在映射的父类(super class)中声明它,请考虑使用 XML 映射来覆盖该策略。

对于 Index(顺便说一下,这不是标准注释),您是否真的尝试使用 Hibernate 的 Table 注释在表级别声明它(我假设您使用的是 Hibernate)?

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

creates the defined indexes on the columns of table tableName.

引用资料

关于java - 将注解应用于继承自@MappedSuperclass 的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3831395/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com