如何将Entity标签与扩展另一个类的对象一起使用? (Spring& Hibernate)

时间:2016-06-16 18:50:40

标签: java mysql spring hibernate entity

我有一个抽象类User,它由RegularUserBusinessUser扩展。 MySQL中的表格为RegularUserBusinessUser。我创建了抽象的User类,因为RegularUserBusinessUser都包含类似的数据。

所以,如果我要在User类中使用Id注释,那么:

public abstract class User {
    @Id
    @Column(name="id")
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private long userId;
    // ...
}

BusinessUserRegularUser类中的实体/表声明如下:

@Entity
@Table(name="BUSINESS_USER")
public class BusinessUser extends User {
    // ...
}

和此:

@Entity
@Table(name="REGULAR_USER")
public class RegularUser extends User {
    // ...
}

这会正常吗?或者两个声明都需要在同一个类中?这可能/允许吗?我对如何解决这个问题感到有些困惑。

0 个答案:

没有答案