<1>hibernate的一对多关系
员工类:
@Entity
@Table(name = "BASE_EMPLOYEE")
public class Employee implements Serializable {
public Employee() {
}
/**
* ID
*/
private String id;
/**
* 部门
*/
private Department department;
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@ManyToOne
@JoinColumn(name = "DEPARTMENT_ID")
public Department getDepartment() {
return department;
}
public void setDepartment(Department department) {
this.department = department;
}
}
部门类:
@Entity
@Table(name = "BASE_DEPARTMENT")
public class Department implements Serializable {
public Department() {
super();
}
private static final long serialVersionUID = -4579891267703880470L;
/**
* ID
*/
private String id;
/**
* ID
*/
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
public String getId() {
return id;
}
public void setId(String id) {
if ("".equals(id))
this.id = null;
else
this.id = id;
}
/**
* 父级对象
*/
private Department parentDepartment;
@ManyToOne
@JoinColumn(name = "PARENT_DEPARTMENT_ID", nullable = true)
public Department getParentDepartment() {
return parentDepartment;
}
public void setParentDepartment(Department parentDepartment) {
this.parentDepartment = parentDepartment;
}
}
<2>hibernate的多对多关系
客户:
@Entity
@DiscriminatorValue(value = "Client")
public class Client extends Company {
private String parentId;
/**
* 供应商列表
*/
private List supplierList = new ArrayList();
/**
* 品牌列表
*/
private List<Brand> brandList = new ArrayList<Brand>();
/**
* 地址列表
*/
private List<ClientAddress> addressList = new ArrayList<ClientAddress>();
/**
* 折扣设置列表
*/
private List<BrandDiscountSetup> discountSetupList = new ArrayList();
private ClientType clientType;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "CLIENT_TYPE_ID")
public ClientType getClientType() {
return clientType;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "CLIENT_TYPE_ID")
public void setClientType(ClientType clientType) {
this.clientType = clientType;
}
@Column(name = "PARENT_ID")
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
@ManyToMany(targetEntity = Supplier.class, fetch = FetchType.LAZY)
@JoinTable(name = "BASE_SUPPLIER_CLIENT", joinColumns = { @JoinColumn(name = "SUPPLIER_ID") }, inverseJoinColumns = { @JoinColumn(name = "CLIENT_ID") })
public List<Supplier> getSupplierList() {
return supplierList;
}
public void setSupplierList(List<Supplier> supplierList) {
this.supplierList = supplierList;
}
@ManyToMany(targetEntity = Brand.class, fetch = FetchType.LAZY)
@JoinTable(name = "BASE_CLIENT_BRAND", joinColumns = { @JoinColumn(name = "CLIENT_ID") }, inverseJoinColumns = { @JoinColumn(name = "BRAND_ID") })
public List<Brand> getBrandList() {
return brandList;
}
public void setBrandList(List<Brand> brandList) {
this.brandList = brandList;
}
@OneToMany(fetch = FetchType.LAZY)
@JoinColumn(name = "COMPANY_ID")
@Cascade(value = { CascadeType.DELETE_ORPHAN, CascadeType.ALL })
public List<ClientAddress> getAddressList() {
return addressList;
}
public void setAddressList(List<ClientAddress> addressList) {
this.addressList = addressList;
}
@OneToMany(fetch = FetchType.LAZY)
@JoinColumn(name = "COMPANY_ID")
@Cascade(value = { CascadeType.DELETE_ORPHAN, CascadeType.ALL })
public List<BrandDiscountSetup> getDiscountSetupList() {
return discountSetupList;
}
public void setDiscountSetupList(List<BrandDiscountSetup> discountSetupList) {
this.discountSetupList = discountSetupList;
}
}
品牌类:
@Entity
@Table(name = "BASE_BRAND")
public class Brand implements Serializable {
private static final long serialVersionUID = -1110607550128690623L;
/**
* @see #getId()
*/
private String id;
/**
* @see #getName()
*/
private String name;
/**
* @see #getEnName()
*/
private String enName;
/**
* @see #getCode()
*/
private String code;
/**
* @see #getRemark()
*/
private String remark;
/**
* @see #getBarCodeRule()
*/
private BarCodeRule barCodeRule;
/**
* 编码
*/
@Column(length = 50, nullable = false)
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
/**
* 主键id
*/
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
public String getId() {
return id;
}
public void setId(String id) {
if ("".equals(id)) {
this.id = null;
} else {
this.id = id;
}
}
/**
* 品牌名称
*/
@Column(length = 50, nullable = false)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
/**
* 注释
*/
@Column(length = 200, nullable = true)
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
/**
* 英文名称
*/
@Column(name = "EN_NAME ", length = 50, nullable = false)
public String getEnName() {
return enName;
}
public void setEnName(String enName) {
this.enName = enName;
}
/**
* 条形码规�?(此品牌的商品的条形码生成规则)
*/
@ManyToOne
@JoinColumn(name = "BAR_CODE_RULE_ID")
public BarCodeRule getBarCodeRule() {
return barCodeRule;
}
public void setBarCodeRule(BarCodeRule barCodeRule) {
this.barCodeRule = barCodeRule;
}
}