当前位置: 代码迷 >> 综合 >> hibernate注解多对一和一对多
  详细解决方案

hibernate注解多对一和一对多

热度:96   发布时间:2023-10-15 07:39:51.0

本文以部门和职员的关系为例:一个部门下有多名员工,一名员工隶属于一个部门。

一、部门实体类:

package com.summer.entity;import java.io.Serializable;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;@Entity
@Table(name = "dept")
public class Department implements Serializable {private static final long serialVersionUID = -6796418968556782582L;@Id@GenericGenerator(name = "system_uuid", strategy = "uuid")@GeneratedValue(generator = "system_uuid")private String id;private String deptName;//mappedBy中的值:"多的一方"所引用的"一的一方"的属性@OneToMany(targetEntity=Employee.class,cascade={CascadeType.ALL},mappedBy="dept")private List<Employee> empts;public Department() {}public Department(String id, String deptName) {this.id = id;this.deptName = deptName;}public Department(String id, String deptName, List<Employee> empts) {super();this.id = id;this.deptName = deptName;this.empts = empts;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getDeptName() {return deptName;}public void setDeptName(String deptName) {this.deptName = deptName;}public List<Employee> getEmpts() {return empts;}public void setEmpts(List<Employee> empts) {this.empts = empts;}}


二、员工实体类:

package com.summer.entity;import java.io.Serializable;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;@Entity
@Table(name = "employee")
public class Employee implements Serializable {private static final long serialVersionUID = 2673329649400196245L;@Id@GenericGenerator(name = "system_uuid", strategy = "uuid")@GeneratedValue(generator = "system_uuid")private String id;private String empName;@ManyToOne(targetEntity=Department.class,cascade={CascadeType.ALL})private Department dept;public Employee(String id, String empName, Department dept) {this.id = id;this.empName = empName;this.dept = dept;}public Employee() {}public Employee(String id, String empName) {this.id = id;this.empName = empName;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getEmpName() {return empName;}public void setEmpName(String empName) {this.empName = empName;}public Department getDept() {return dept;}public void setDept(Department dept) {this.dept = dept;}}



  相关解决方案