我有一個可以在多個部門作業的員工。我在 Employee 中有 OneToMany relashionship,在 Department 類中有 ManyToOne。
@Entity
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Size(min = 3, max = 10, message = "Invalid name")
private String name;
@Email
private String email;
@OneToMany(mappedBy = "employee")
private List<Department> departments;
}
@Entity
public class Department {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String department;
@JsonIgnore
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "employee_id", referencedColumnName = "id")
private Employee employee;
}
MySQL 中創建的表如下所示:
- 員工表:

- 部門表:

問題是我會有多個員工,他們可以有多個部門。部門表將太大,部門名稱將針對不同的員工重復,如上圖所示,我有 2xManagement。我的問題是是否可以創建沒有employee_id 的departments 表(僅具有departments 名稱),并在一個只有兩個屬性的單獨表中進行鏈接——employee_id 和department_id。我需要為此創建一個新課程嗎?我怎樣才能優化這種關系?有沒有辦法做到這一點?
uj5u.com熱心網友回復:
您需要使用弱物體更改@ManyToMany 的解決方案,參考:https ://www.baeldung.com/hibernate-many-to-many
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/449892.html
上一篇:.app安卓應用程式的域名包名
