假设我有两个hibernate实体类:class Player
和class Partner
,它们都将参与邮件发送。他们都包含以下字段:
String email;
Integer id;
String name
我想按如下方式创建一个界面:
public interface Recipient{
public String getEmail();
public String getName();
public Integer getId();
}
基本上,这些类将如下所示:
@Entity
@Table(name = "player")
@Inheritance(strategy = InheritanceType.JOINED)
class Player implements Recipient
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private int id;
@Column(name = "ps_id")
private String psId;
@Column(name = "login")
private String login;
@Column(name = "password")
private String password;
@Column(name = "email")
private String email;
//GET, SET and inherited method impl
}
这是正确的方法,或者在hibernate中不写一个实体类,从另一个类/接口继承一个? Just POJO
。
答案 0 :(得分:1)
您可以在接口类上使用@MappedSuperclass
注释。 AFAIK这是正确的做法。