多个表有多个相同的字段,将相同的字段抽象出来
基类:
- 需加上
@MappedSuperclass
注解 - 字段上的注解例如
@Id
等正常加 - 示例:
@MappedSuperclass
@Data
public class StcBenefit {
@Id
String devid;
// 更新时刻
Date update_time;
// 输电效益
Double value;
// 输电效益2
Double valuedim;
// 预留1
Double f1;
// 预留2
Double f2;
// 预留3
Double f3;
}
子类:
- 继承抽象类
- 聚合主键需要实现
Serializable
接口 - 该实体对应数据库表,需要加上
@Entity,@Table
等正常实体需要的注解 - 对于聚合主键,需要定义主键类,并在
@IdClass
中配置 - 示例:
@Entity
@Table(name = "stc_acline_benefit_day")
@Data
@EqualsAndHashCode(callSuper = true)
@IdClass(DayKey.class)
public class StcAclineBenefitDay extends StcBenefit implements Serializable {
@Id
Date day;
}
主键类:需要实现Serializable
接口
@Data
public class DayKey implements Serializable {
String devid;
Date day;
}