Model层生成各数据库表之间的关系

3 篇文章 0 订阅
1 篇文章 0 订阅

三个表company、department、staff。
员工表中的公司ID和部门ID为外键。

company的Model:

import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;


@Entity
@Table(name = "t_company", catalog = "smartmgr")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "COMPANY_TYPE")
@DiscriminatorValue("Others")
public class TCompany implements java.io.Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = -1518840460031368116L;
    private String id;
    private String comFullName;
    private String comSimpleName;
    private CompanyType companyType;


    private Set<TCompanyDirectory> companyDirectories =new HashSet<TCompanyDirectory>(0);

    @Id
    @GeneratedValue(generator = "system-uuid")
    @GenericGenerator(name = "system-uuid", strategy = "uuid")
    @Column(name = "ID", unique = true, nullable = false, length = 32)
    public String getId() {
        return id;
    }

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

    @Column(name = "COM_FULL_NAME", length = 128)
    public String getComFullName() {
        return comFullName;
    }

    public void setComFullName(String comFullName) {
        this.comFullName = comFullName;
    }

    @Column(name = "COM_ABBR_NAME", length = 64)
    public String getComSimpleName() {
        return comSimpleName;
    }

    public void setComSimpleName(String comSimpleName) {
        this.comSimpleName = comSimpleName;
    }

    @Column(name = "COM_TYPE", length = 32)
    public CompanyType getCompanyType() {
        return companyType;
    }

    public void setCompanyType(CompanyType companyType) {
        this.companyType = companyType;
    }



    @OneToMany(cascade = CascadeType.MERGE, mappedBy = "company")
    public Set<TCompanyDirectory> getCompanyDirectories() {
        return companyDirectories;
    }

    public void setCompanyDirectories(Set<TCompanyDirectory> companyDirectories) {
        this.companyDirectories = companyDirectories;
    }

    @OneToMany(cascade = CascadeType.MERGE, mappedBy = "company")
    public List<TDepartment> getDepartments() {
        return departments;
    }

    public void setDepartments(List<TDepartment> departments) {
        this.departments = departments;
    }
}

Department的Model

import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;



@Entity
@Table(name = "t_depantment", catalog = "smartmgr")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "DEPARTMENT_TYPE")

public class TDepartment implements java.io.Serializable {


    private static final long serialVersionUID = 1L;
    private String id;
    private String name;


    private TCompany company;
    private TDepartment department;
    private Set<TCompanyDirectory> companyDirectories=new HashSet<TCompanyDirectory>(0);

    public TDepartment() {
        super();
        // TODO Auto-generated constructor stub
    }

    @Id
    @GeneratedValue(generator = "system-uuid")
    @GenericGenerator(name = "system-uuid", strategy = "uuid")
    @Column(name = "ID", unique = true, nullable = false, length = 32)
    public String getId() {
        return id;
    }

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

    @Column(name = "NAME", length = 32)
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }


    public void setCompany(TCompany company) {
        this.company = company;
    }



    @OneToMany(cascade = CascadeType.MERGE, mappedBy = "department")
    public Set<TCompanyDirectory> getCompanyDirectories() {
        return companyDirectories;
    }

    public void setCompanyDirectories(Set<TCompanyDirectory> companyDirectories) {
        this.companyDirectories = companyDirectories;
    }
}

Staff的Model:

package com.smartprint.biztrip.common.model.company;

//import java.util.ArrayList;
import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

import com.smartprint.biztrip.common.model.department.TDepartment;

//import com.smartprint.biztrip.common.model.company.TCompany;
//import com.smartprint.biztrip.common.model.department.TDepartment;

@Entity
@Table(name = "t_company_directory", catalog = "smartmgr")
//@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class TCompanyDirectory implements java.io.Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = -5215402565270755971L;
    // 基本信息

    private String id;
    private String name;// 员工姓名
    private Date birth;// 出生日期
    private String sex;
    private String mobilePhone;// 联系电话
    private String email;// 邮箱
    private String nationality;// 国籍
    private String jobTitle;// 职务
    private String spellName;// 姓名拼音
    private String passportNumber;// 护照号
    private String identityNumber;// 身份证号码
    private String otherIdCardType;// 其它证件
    private String otherIdCardNum;// 其它证件号码

    // 紧急联系人
    private String emergencyName;// 员工紧急联系人
    private String emergencyPhone;// 员工紧急联系电话

    private TCompany company; // 雇佣公司ID
    private TDepartment department; // 雇佣部门ID

    // private TStaff createStaff;// 添加员工
    // private TStaff updateStaff;// 更新员工
    // private TCompany companyID;// 公司ID
    // private TDepartment departmentID;// 所属部门ID
    // private List<TStaff> createStaffs = new ArrayList<TStaff>();
    // private List<TStaff> updateStaffs = new ArrayList<TStaff>();

    public TCompanyDirectory() {
        super();
    }

    @Id
    @GeneratedValue(generator = "system-uuid")
    @GenericGenerator(name = "system-uuid", strategy = "uuid")
    @Column(name = "ID", unique = true, nullable = false, length = 32)
    public String getId() {
        return id;
    }

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

    @Column(name = "NAME", length = 64)
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Column(name = "SEX", length = 8)
    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    @Column(name = "MOBILE_PHONE", length = 32)
    public String getMobilePhone() {
        return mobilePhone;
    }

    public void setMobilePhone(String mobilePhone) {
        this.mobilePhone = mobilePhone;
    }

    @Column(name = "EAMIL", length = 64)
    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Column(name = "NATIONALITY", length = 6)
    public String getNationality() {
        return nationality;
    }

    public void setNationality(String nationality) {
        this.nationality = nationality;
    }

    @Column(name = "SPELL_NAME", length = 64)
    public String getSpellName() {
        return spellName;
    }

    public void setSpellName(String spellName) {
        this.spellName = spellName;
    }

    @Column(name = "PASSPORT_NUM", length = 32)
    public String getPassportNumber() {
        return passportNumber;
    }

    public void setPassportNumber(String passportNumber) {
        this.passportNumber = passportNumber;
    }

    @Column(name = "ID_CARD_NUM", length = 32)
    public String getIdentityNumber() {
        return this.identityNumber;
    }

    public void setIdentityNumber(String identityNumber) {
        this.identityNumber = identityNumber;
    }

    @Column(name = "EMERGENCY_NAME", length = 64)
    public String getEmergencyName() {
        return emergencyName;
    }

    public void setEmergencyName(String emergencyName) {
        this.emergencyName = emergencyName;
    }

    @Column(name = "EMERGENCY_PHONE", length = 32)
    public String getEmergencyPhone() {
        return emergencyPhone;
    }

    public void setEmergencyPhone(String emergencyPhone) {
        this.emergencyPhone = emergencyPhone;
    }

    @Column(name = "BIRTH", length = 19)
    public Date getBirth() {
        return birth;
    }

    public void setBirth(Date birth) {
        this.birth = birth;
    }

    @Column(name = "JOB_TITLE", length = 64)
    public String getJobTitle() {
        return jobTitle;
    }

    public void setJobTitle(String jobTitle) {
        this.jobTitle = jobTitle;
    }

    @Column(name = "OTHER_ID_TYPE", length = 64)
    public String getOtherIdCardType() {
        return otherIdCardType;
    }

    public void setOtherIdCardType(String otherIdCardType) {
        this.otherIdCardType = otherIdCardType;
    }

    @Column(name = "OTHER_ID_NUM", length = 32)
    public String getOtherIdCardNum() {
        return otherIdCardNum;
    }

    public void setOtherIdCardNum(String otherIdCardNum) {
        this.otherIdCardNum = otherIdCardNum;
    }


    @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY)
    @JoinColumn(name = "EMP_DEPT_ID")
    public TDepartment getDepartment() {
        return department;
    }

    public void setDepartment(TDepartment department) {
        this.department = department;
    }

    @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY)
    @JoinColumn(name = "EMP_COM_ID")
    public TCompany getCompany() {
        return company;
    }

    public void setCompany(TCompany company) {
        this.company = company;
    }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值