package com.oa.model;
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
/**
* 机构
* @author cxs
*
*/
@Entity
@Table(name="oa_organization")
public class Organization implements Serializable{
private static final long serialVersionUID = 9153552834578848687L;
/**
* 机构编号
*/
private Integer id;
/**
* 机构名称
*/
private String name;
/**
* 机构编号
*/
private String sn;
/**
* 机构描述
*/
private String description;
/**
* 父机构的孩子
*/
private Set<Organization> oraganOrganizations = new HashSet<Organization>();
/**
* 某机构的父机构
*/
private Organization pid;
private Set<Person> persons = new HashSet<Person>();
@Column(unique = true)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Column(unique = true)
public String getSn() {
return sn;
}
public void setSn(String sn) {
this.sn = sn;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@ManyToOne(cascade={CascadeType.ALL})
@JoinColumn(name="pid",referencedColumnName="id")
public Organization getPid() {
return pid;
}
public void setPid(Organization pid) {
this.pid = pid;
}
@OneToMany(cascade={CascadeType.ALL}, mappedBy="organization")
public Set<Person> getPersons() {
return persons;
}
public void setPersons(Set<Person> persons) {
this.persons = persons;
}
@OneToMany(mappedBy="pid",cascade={CascadeType.ALL})
public Set<Organization> getOraganOrganizations() {
return oraganOrganizations;
}
public void setOraganOrganizations(Set<Organization> oraganOrganizations) {
this.oraganOrganizations = oraganOrganizations;
}
@Id
@GeneratedValue
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}