従業員とシフトの 2 つのエンティティ クラスを使用して Java EE プロジェクトを実行していますが、それらの間には多対多の関係があります。次のようになります。
@Entity
public class Employee implements Serializable {
@ManyToMany(mappedBy="employees")
private List shifts;
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String surname;
private String firstname;
...
@Entity
public class Shift implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Temporal(javax.persistence.TemporalType.TIMESTAMP)
private Date timeStart;
@Temporal(javax.persistence.TemporalType.TIMESTAMP)
private Date timeEnd;
private int workers;
private int overseers;
@ManyToMany
private List employees;
選択したシフトに従業員を (1 人ずつ) 追加したい JSF ページがあるので、バッキング Bean には次のメソッドがあります。
public void addToShift(Employee e){
selectedShift.addEmployee(e);
e.addShift(selectedShift);
}
メソッドが呼び出された後、結合テーブルに何も表示されません。entitymanager.find を使用してエンティティを再度検索するなど、いくつかのことを試しましたが、実際には何も役に立ちませんでした。結合テーブルに何も表示されず、理由もわかりません。従業員とシフトの管理に問題はありませんでした。それは「単なる」つながりです.何かアイデアはありますか?