java - Persist 1-m entities with composite primary key in hibernate -
i have below 1-m relationship on entities mentor students. mentor has composite primary key use foreign key in student
@entity public class mentor implements serializable { private static final long serialversionuid = 1l; @id private mentorpk id; private string email; @onetomany(mappedby="mentor") private set<student> students; public mentorpk getid() { return id; } //getters , setters } @embeddable public class mentorpk implements serializable { private static final long serialversionuid = 1l; private string name; private string add; //getters , setters //override equals , hashcode } @entity public class student implements serializable{ private static final long serialversionuid = 1l; @id @generatedvalue(strategy=generationtype.auto) private int id; private string name; @manytoone @mapsid("id") @joincolumns({ @joincolumn(name="name_fk", referencedcolumnname="name"), @joincolumn(name="address_fk", referencedcolumnname="address") }) private mentor mentor; //getters , setters } i persist above below mentor persisted student table empty.
how can persist mentor students?
set<student> students = new hashset<student>(); student s1 = new student(); s1.setname("student 1"); student s2 = new student(); s2.setname("student 2"); students.add(s1); students.add(s2); mentorpk mpk = new mentorpk(); mpk.setaddress("c"); mpk.setname("d"); mentor m = new mentor(); m.setid(mpk); m.setemail("emaill"); m.setstudents(students); studentmanager.savementor(m);
try changing annotation of students field
@onetomany(mappedby="mentor", cascade = cascadetype.persist)
Comments
Post a Comment