我有一个抽象类User
,它由RegularUser
和BusinessUser
扩展。 MySQL中的表格为RegularUser
和BusinessUser
。我创建了抽象的User
类,因为RegularUser
和BusinessUser
都包含类似的数据。
所以,如果我要在User
类中使用Id注释,那么:
public abstract class User {
@Id
@Column(name="id")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private long userId;
// ...
}
BusinessUser
和RegularUser
类中的实体/表声明如下:
@Entity
@Table(name="BUSINESS_USER")
public class BusinessUser extends User {
// ...
}
和此:
@Entity
@Table(name="REGULAR_USER")
public class RegularUser extends User {
// ...
}
这会正常吗?或者两个声明都需要在同一个类中?这可能/允许吗?我对如何解决这个问题感到有些困惑。