一个Java小白的学习之路 个人博客 youngljx.top
@MappedSuperclass
在进行实体类的封装时,有时候几张表中可能有很多的共同属性。每次都去建立不同的类很麻烦。这个时候可以建立一个共同属性的类,让其他类去继承这个类。然后映射到数据表中,例如编号ID,创建者,创建时间,修改者,修改时间,备注等。
使用环境:
1.@MappedSuperclass注解使用在父类上面,是用来标识父类的
2.@MappedSuperclass标识的类表示其不能映射到数据库表,因为其不是一个完整的实体类,但是它所拥有的属性能够隐射在其子类对用的数据库表中
3.@MappedSuperclass标识的不能再有@Entity或@Table注解,也无需实现序列化接口
@CreatedDate
, @LastModifiedDate
等
实现自动更新实体创建时间和修改时间
1、在实体类上加上注解 @EntityListeners(AuditingEntityListener.class)
在相应的字段上添加对应的时间注解 @LastModifiedDate
和 @CreatedDate
/**
* @author: Mr.Liu
* @description: 描述实体类的公共配置
* @date: 2020-03-11 12:58
*/
@Data
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class) //用于监听实体类添加或者删除操作
public class BaseBean {
/**
* @Description: 自增长id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)