Model层生成各数据库表之间的关系
来源:互联网 发布:加油卡丢了怎么网络挂 编辑:程序博客网 时间:2024/04/20 09:00
三个表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 0
- Model层生成各数据库表之间的关系
- 使用CodeSmith生成oracle数据库表的实体层(Model)
- 使用CodeSmith生成oracle数据库表的实体层(Model)
- 使用CodeSmith生成oracle数据库表的实体层(Model) ——来自 dacong
- JAVA各层之间的关系
- RoR开发-建立model表之间的关系
- Model与UIControl之间的模型关系
- 数据库表与表之间的关系
- 如何定义数据库表之间的关系
- 如何定义数据库表之间的关系
- 如何定义数据库表之间的关系
- magento数据库表之间的关系
- MySQL数据库-表之间的关系(精华)
- DAO,Service,Controller各层之间的关系
- DAO,Service,Controller各层之间的关系
- 自己写代码生成器之生成Model层(获取数据库所有表名称)
- Play的model层,数据库配置
- 使用T4模板根据数据库生成model层
- C++11 lambda 表达式解析
- SQLSTATE[23000]主键重复
- excel导入
- javascript 中setTimeout()和clearTimeout()及setInterval()和clearInterval()的用法
- 知道这些,你就超过了99%的销售
- Model层生成各数据库表之间的关系
- 单例模型
- ubuntu增加sudo用户
- 使用C语言与栈实现简单多则运算计算器(包括括号优先级运算)
- 网络虚拟化技术(一): Linux网络虚拟化
- onmusemove vs onmousover
- Collections.sort的两种用法
- 转:VS2010/MFC编程入门之四十四(MFC常用类:定时器Timer)
- Jmeter 测试结果分析之聚合报告简介