Hibernate注解@MappedSuperclass、@Embeddable、@Embedded用途

  • @MappedSuperclass
    1. 标识在父类上面,可以将变量隐藏到子类中并映射到数据库
    2. 不是完整的类,需要配合子类一起使用
    3. 该类不能再有@Entity或@Table注解
      源码自行查看吧
  • @Embeddable
    将一类设置为可引用,供其他类使用,源码如下
    /**
     *    Example 1:
    *       @Embeddable public class EmploymentPeriod {
    *       @Temporal(DATE) java.util.Date startDate;
    *       @Temporal(DATE) java.util.Date endDate;
    *      ...
    *    }
    * /
    
  • @Embedded
    将一个类(一般是公用类)引用进来,一样当成实体映射
     @Embedded
      private EmploymentPeriod EmploymentPeriod ;
    

@Embedded与@Embeddable必须连用

  • 如上面例子注解@Embeddable EmploymentPeriod类标识此类可以引用。变量 @Embedded EmploymentPeriod,标识引用了此类,可以当成一个实体。

你可能感兴趣的:(Hibernate注解@MappedSuperclass、@Embeddable、@Embedded用途)