大概从名字能看出来,直译就是映射父类,就是用来标识父类实体类
基于代码的可复用性,抽象化思想,在项目开发中使用JPA的@MappedSuperclass注解将实体类的多个属性分别封装到不同的非实体类中
例如,数据库表中都需要id来表示主键,创建时间,创建者,等等这些映射实体类的通用的属性,交给jpa统一生成主键id编号,那么使用一个父类来封装这些通用属性,并用@MappedSuperclas标识
如下例子
import lombok.Data;
import javax.persistence.*;
@Data
@MappedSuperclass
public abstract class BaseEntity {
/**
* 实体的id
* 自增ID
* @return
*/
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
@Column(name = "id", unique = true, nullable = false)
protected Long id;
/**
* 创建者
*/
@CreatedBy
@Column(name = "create_by")
protected Long createBy;
/**
* 创建时间
*/
@Column(name = "create_time")
private Date createTime;
/**
* 更新者
*/
@Column(name = "update_by")
protected Long updateBy;
/**
* 更新时间
*/
@Column(name = "update_time")
protected Date updateTime;
}
来源:CSDN
作者:Chen_RuiMin
链接:https://blog.csdn.net/Chen_RuiMin/article/details/104216066