我有一个非常标准的场景,我有一个Employe表和一个Unite ewith表。这两个表通过多对多的关系相关联(即,emoloye可以有很多联合,并且unite可以应用于许多雇员),随后我有一个名为effectif_unite的连接表。只有两列。 我已经生成了实体类(见下文),我没有问题将数据持久保存到employees和unite表,但是我很失败地将任何内容保存到employe_has_unite。
//方法和应用程序客户端
public void add(int mat, String grade, String fonction, int cnprs, int cin, String np, String adress, String tel, int disp, Date date, ArrayList uns) {
Employe emp = new Employe();
Grade gr = bean.grade_emp(grade);
Fonction f = bean.fonction_emp(fonction);
emp.setMatEmp(mat);
emp.setNumGrd(gr.getNumGrd());
emp.setNumFon(f.getNumFon());
emp.setCnprs(cnprs);
emp.setCin(cin);
emp.setAdress(adress);
emp.setTel(tel);
emp.setNp(np);
emp.setDispo(disp);
emp.setDtRt(date);
emp.setUniteList(uns); // i affect List<Unite> To employe here!!
bean.add(emp);
}
// DAO
public void add(Employe e,ArrayList<Unite> uns)
{ /* EntityTransaction et = em.getTransaction();
et.begin();
em.persist(e);
et.commit(); */
EntityTransaction ett = em.getTransaction();
ett.begin();
EffectifUnite u=new EffectifUnite();
u.setUnite(uns.get(0));
u.setEmploye(em.find(Employe.class, 1));
EffectifUnitePK pk= new EffectifUnitePK();
pk.setMatEmp(em.find(Employe.class, 1).getMatEmp());
pk.setNumUnt(uns.get(0).getNumUnt());
u.setEffectifUnitePK(pk);
em.persist(u);
ett.commit();
}