oracle - Hibernate ManyToOne and OneToMany i one Entity -


i have 3 tables university(id,name), group(id,name,university_id), student(id,name,number,group_id). 1 university have many groups , 1 group have many students.

my pojos this:

@entity(name = "student") public class student {     @sequencegenerator(name = "genstudent",sequencename = "studentseq")     @id     @generatedvalue(generator = "genstudent")     private int id;     @column(name = "name")     private string name;     @column(name = "facnum")     private string facnum;     @manytoone     private unigroup group;      public unigroup getgroup() {         return group;     }      public void setgroup(unigroup group) {         this.group = group;     }      public student(){     } ... getters , setters }  @entity public class unigroup {     @sequencegenerator(name = "gengroup",sequencename = "unigroupseq")     @id     @generatedvalue(generator = "gengroup")     private int id;     @column(name = "administrativename")     private string administrativename;     @onetomany(mappedby = "group",cascade=cascadetype.all)     private list<student> students;     @manytoone     private university university; ... getters , setters }  @entity public class university {     @sequencegenerator(name = "genuniversity",sequencename = "universityseq")     @id     @generatedvalue(generator = "genuniversity")     private int id;     @column(name = "name")     private string name;     @onetomany(mappedby = "university",cascade=cascadetype.all)     private list<unigroup> groups;      public university(){         groups = new arraylist<unigroup>();     } 

my helper class:

public class studentsystemutil {     private sessionfactory sessfac;      public studentsystemutil(){         sessfac = new configuration().configure().buildsessionfactory();     }      @suppresswarnings("unchecked")     public void showgroups(){         session session = sessfac.getcurrentsession();          try{         session.begintransaction();           query q = session.createquery("from unigroup");          list<unigroup> groups = (list<unigroup>)q.list();          for(unigroup g:groups){             system.out.println("group: "+g.getid()+" "+g.getadministrativename());             for(student s:g.getstudents()){                 system.out.println(s.getname()+" "+s.getgroup().getadministrativename());             }         }         session.gettransaction().commit();         }catch(exception e){             system.out.println("error: "+e.getmessage());         }     }      public void savegroup(unigroup group){         session session = sessfac.getcurrentsession();         try{         session.begintransaction();          session.save(group);          session.gettransaction().commit();         }catch(exception e){             if(session.gettransaction() != null){                 session.gettransaction().rollback();             }             system.out.println("error: "+e.getmessage());         }     }      @suppresswarnings("unchecked")     public void showuniversityes(){         session session = sessfac.getcurrentsession();          try{         session.begintransaction();           query q = session.createquery("from university");          list<university> universityes = (list<university>)q.list();          for(university u:universityes){             system.out.println("university: "+u.getid()+" "+u.getname());             for(unigroup g:u.getgroups()){                 system.out.println(g.getadministrativename());                 for(student s:g.getstudents()){                     system.out.println("student "+s.getname());                 }             }         }         session.gettransaction().commit();         }catch(exception e){             system.out.println("error: "+e.getmessage());         }     }      public void saveuniversity(university uni){         session session = sessfac.getcurrentsession();         try{         session.begintransaction();          session.save(uni);          session.gettransaction().commit();         }catch(exception e){             if(session.gettransaction() != null){                 session.gettransaction().rollback();             }             system.out.println("error: "+e.getmessage());         }     }      public void closesessionfactory(){         sessfac.close();     }  } 

and

error: not execute jdbc batch update error: not execute query 

when try save or show something. please.

first thing should add @joincolumn annotation @manytoone applied, because otherwise default applied. @joincolumn has parameter name specify column in database used relationship. have @ documentation more info


Comments

Popular posts from this blog

apache - Add omitted ? to URLs -

redirect - bbPress Forum - rewrite to wwww.mysite prohibits login -

php - How can I stop spam on my custom forum/blog? -