zoukankan      html  css  js  c++  java
  • @MappedSuperclass的作用

    在Jpa里, 当我们在定义多个实体类时, 可能会遇到这几个实体类都有几个共同的属性, 这时就会出现很多重复代码.
      这时我们可以选择编写一个父类,将这些共同属性放到这个父类中, 并且在父类上加上@MappedSuperclass注解.

    注意:

    1. 标注为@MappedSuperclass的类将不是一个完整的实体类,他将不会映射到数据库表,但是他的属性都将映射到其子类的数据库字段中。
    2. 标注为@MappedSuperclass的类不能再标注@Entity或@Table注解,也无需实现序列化接口.
      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;
      
          /**
           * 创建者
           */
          @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;
      }
  • 相关阅读:
    PAT Basic Level 1013
    PAT Basic Level 1012
    PAT Basic Level 1011
    PAT Basic Level 1009
    PAT Basic Level 1010
    PAT Basic Level 1008 *
    PAT Basic Level 1007 *
    .NET Entity Framework入门简介及简单操作
    SQL Server 查询处理中的各个阶段(SQL执行顺序)
    泛型优点和特性
  • 原文地址:https://www.cnblogs.com/zouhong/p/13450688.html
Copyright © 2011-2022 走看看