Java 如何从超类获取类中的属性?

Java 如何从超类获取类中的属性?,java,hibernate,jpa,Java,Hibernate,Jpa,我想使用Hibernate。我有一个数据库模式,我想在代码中编写注释 我有一节课。看起来是这样的: 在A.java中: public class A { public Integer id; } 在B.java中: @Entity @Table(name="table_b") public class B extends A { @Id @GeneratedValue(strategy=GenerationType.AUTO) //How can I get

我想使用Hibernate。我有一个数据库模式,我想在代码中编写注释

我有一节课。看起来是这样的:

在A.java中:

public class A {
    public Integer id;
}
在B.java中:

@Entity
@Table(name="table_b")
public class B extends A {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    //How can I get that id attribute from the A class?

    @Column
    public String string;
}

您将注释@MappedSuperClass放在类A之上。字段id必须在类A而不是类B中注释。

在类B中再次声明它有什么问题?我不想再次声明它。我不会对我有好处,但我的老师/老板不会喜欢id:我想用正确的方式写作首先你应该学习,如果没有这三种策略,我的偏好是在父类中只定义相关的getter和setter。我现在使用的每个属性都是public在a中添加一个getter,如果它是私有的,就使用它。。。但由于它是一个公共整数,所以只需将其用作id,您就应该具有该值……好的,但这还不够。我应该如何从B中获取该属性?您正在继承它,因此类B已经具有字段id。如果要将字段id映射到列,则必须在类a中对其进行注释。确定。我理解。但是我想使用很多其他类的继承。例如C、D、E。这些类也映射到数据库表。我应该如何注释这个类?