Java Spring@MappedSuperclass字段作为子类中的@Id字段
我有下面的超类,它将被许多类扩展。它的一个属性foreignKey将是其中一个继承类的@Id 超类:Java Spring@MappedSuperclass字段作为子类中的@Id字段,java,spring,inheritance,mappedsuperclass,Java,Spring,Inheritance,Mappedsuperclass,我有下面的超类,它将被许多类扩展。它的一个属性foreignKey将是其中一个继承类的@Id 超类: @MappedSuperclass public abstract Superclass { @Column(name="FOREIGN_KEY") private String foreignKey; // Getters and setters } 继承类: @Entity public class ClassA extends Su
@MappedSuperclass
public abstract Superclass {
@Column(name="FOREIGN_KEY")
private String foreignKey;
// Getters and setters
}
继承类:
@Entity
public class ClassA extends Superclass {
@Id
@Column(name="FOREIGN_KEY")
private String foreignKey;
// Getters and setters
}
当我尝试构建时,会出现以下错误:
No identifier specified for ClassA
还有其他方法可以实现这一点吗?无法理解为什么要在父类及其子类中声明两次属性!然而,您是否检查了导入语句?它们是否正确?@AbdelghaniRoussi重新声明它以向其添加Id注释。我在子类中这样做是因为我只希望该子类将该字段作为Id。所有其他子类都不会重新声明该字段。我愿意使用其他方法将字段标记为Id,而不是重新声明它。