我有一个从BaseEntity扩展的UserAuthenticationEntity。
@MappedSuperclass
public class BaseEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "user_seq_generator")
@SequenceGenerator(name = "user_seq_generator", sequenceName = "user_seq", allocationSize = 1)
private Long id;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
@Entity
@Table(name = "user_authentication")
public class UserAuthenticationEntity extends BaseEntity {
private String username;
private String password;
public UserAuthenticationEntity(String username, String password){
this.username = username;
this.password = password;
}
...
...
}
所有未来的实体都将扩展 BaseEntity类。
是否有可能所有实体都从BaseEntity类继承id属性但具有单独的序列来生成主键?
我知道这是一个有线场景,但我认为拥有一个基实体类是为所有实体类定义id属性的好地方,但不能使用不同的序列是一种交易破坏者。不确定是否可以完成。
也欢迎实体类的任何替代/更好的设计。