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

    实体类baseEntity.java

    package com.rock.cft.hibernate;
    import java.util.Date;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.MappedSuperclass;
    //@MappedSuperclass 用在父类上面。当这个类肯定是父类时,加此标注。如果改成@Entity,则继承后,多个类继承,只会生成一个表,而不是多个继承,生成多个表
    @MappedSuperclass
    public abstract class BaseEntity {
      private Integer id;// 数据库主键
     private Date creationTime;//创建时间
     private Date modificationTime;//修改时间
     
     @Id
     @GeneratedValue(strategy = GenerationType.AUTO)
     public Integer getId() {
      return id;
     }
     public void setId(Integer id) {
      this.id = id;
     }
     public Date getCreationTime() {
      return creationTime;
     }
     public void setCreationTime(Date creationTime) {
      this.creationTime = creationTime;
     }
     public Date getModificationTime() {
      return modificationTime;
     }
     public void setModificationTime(Date modificationTime) {
      this.modificationTime = modificationTime;
     }
     
    }
    实体类Test_No1.java
    package com.rock.cft.test.model;
    import java.io.Serializable;
    import java.util.Date;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Table;
    import com.rock.cft.hibernate.BaseEntity;
    @Entity
    @Table(name="test_no2")
    public class Test_No1 extends BaseEntity implements Serializable {
     
    
     private String name;
     private int age;
     
     public String getName() {
      return name;
     }
     public void setName(String name) {
      this.name = name;
     }
     public int getAge() {
      return age;
     }
     public void setAge(int age) {
      this.age = age;
     }
      
    }
    实体类Test_NO2.java
    package com.rock.cft.test.model;
    import java.io.Serializable;
    import java.util.Date;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Table;
    import com.rock.cft.hibernate.BaseEntity;
    @Entity
    @Table(name="test_no2")
    public class Test_NO2 extends BaseEntity implements Serializable {
     
     
     private Date testBri;
     
     private String testAdr;
     
     public Date getTestBri() {
      return testBri;
     }
     public void setTestBri(Date testBri) {
      this.testBri = testBri;
     }
     public String getTestAdr() {
      return testAdr;
     }
     public void setTestAdr(String testAdr) {
      this.testAdr = testAdr;
     }
     
     
    
    
     
     
    } 
    这样在生成表的时候只生成了:test_no1、test_no2两张表,而且两张表中都含有id、creationTime、modificationTime三个属性
    但是如果把@MappedSuperclass换成@Entity那么就会另外在生成一张baseEntity的表
  • 相关阅读:
    维控PLC与电流变送器modbus通讯获取电流变送器数据
    openmv第一次调试
    电流变送器(互感器)
    物联网数据采集
    STM32编程环境配置(kile5)
    开发日记9
    开发日记8
    开发日记7
    开发日记6
    开发日记5
  • 原文地址:https://www.cnblogs.com/zhaoyan001/p/6665993.html
Copyright © 2011-2022 走看看