BaseEntity示例

BaseEntity并不是Java标准库中提供的一个类,它通常是根据项目需求而创建的一个基类或抽象类。因此,它不属于任何特定的Java包。

一般情况下,BaseEntity类是由开发人员自行定义,根据项目的具体需求和设计来创建的。你可以根据自己的项目结构和命名规范,在适当的包下创建和组织BaseEntity类及其相关的子类。

@MappedSuperclass
@EntityListeners({AuditingEntityListener.class})
public abstract class BaseEntity {
    public static final String[] BaseFields = new String[]{"id", "createTime", "updateTime", "isDelete"};
    @Id
    @Column(
        name = "id",
        nullable = false,
        unique = true
    )
    @GeneratedValue(
        strategy = GenerationType.IDENTITY
    )
    protected Integer id;
    @CreationTimestamp
    @Column(
        name = "create_time",
        nullable = false
    )
    protected Date createTime;
    @UpdateTimestamp
    @Column(
        name = "update_time",
        nullable = false
    )
    protected Date updateTime;
    @Column(
        name = "is_delete",
        nullable = false
    )
    protected boolean isDelete = false;

    public BaseEntity() {
    }

    public Integer getId() {
        return this.id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Date getCreateTime() {
        return this.createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return this.updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public boolean isDelete() {
        return this.isDelete;
    }

    public void setDelete(boolean delete) {
        this.isDelete = delete;
    }
}

这段代码是定义了一个BaseEntity类,并没有进行重写。它使用了JPA注解来指定了数据库表的映射关系,并定义了一些常用的属性和方法。

具体来说:
- @MappedSuperclass注解表示这是一个映射超类,它将被其他实体类继承。
- @EntityListeners({AuditingEntityListener.class})注解表示启用实体监听器,可以在实体对象的持久化操作前后执行一些逻辑。
- @Id注解表示id字段是实体对象的唯一标识符。
- @Column注解用于指定字段的属性,如名称、是否可为空等。
- @GeneratedValue注解表示id字段的值将由数据库自动生成。
- @CreationTimestamp注解表示在实体对象被持久化时,自动将当前时间赋值给createTime字段。
- @UpdateTimestamp注解表示在实体对象被更新时,自动将当前时间赋值给updateTime字段。

除了这些注解外,BaseEntity类还定义了一些常用的属性和方法,如getId()和setId()用于获取和设置id字段的值,getCreateTime()和setCreateTime()用于获取和设置createTime字段的值等。

总结起来,这段代码并没有对BaseEntity类进行重写,而是提供了一些通用的属性和方法,并使用了JPA注解来支持对象持久化和数据库映射。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值