Employee.hbm
<class name="hibernatetest.Employee" table="EMPLOYEE">
<id name="employeeId" column="EMPLOYEE_ID">
<generator class="increment" />
</id>
<property name="firstname" />
<set name="meetings" table="EMPLOYEE_MEETING"
inverse="false" lazy="true" fetch="select" cascade="all">
<key column="EMPLOYEE_ID" />
<many-to-many column="MEETING_ID" class="hibernatetest.Meeting" />
</set>
</class>
Meeting.hbm
<class name="hibernatetest.Meeting" table="MEETING">
<id name="meetingId" column="MEETING_ID">
<generator class="increment" />
</id>
<property name="subject" column="SUBJECT" />
<set name="employees" table="EMPLOYEE_MEETING"
inverse="true" lazy="true" fetch="select">
<key column="EMPLOYEE_ID" />
<many-to-many column="MEETING_ID" class="hibernatetest.Meeting" />
</set>
</class>
Employee.java
private int employeeId;
private String firstname;
private Set<Meeting> meetings = new HashSet<Meeting>();
public Employee() {
}
public Employee(String firstname) {
this.firstname = firstname;
}
public int getEmployeeId() {
return employeeId;
}
public void setEmployeeId(int employeeId) {
this.employeeId = employeeId;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
Meeting.java
private int meetingId;
private String subject;
private Set<Employee> employees = new HashSet<Employee>();
public Meeting(String subject) {
this.subject = subject;
}
public int getMeetingId() {
return meetingId;
}
public void setMeetingId(int meetingId) {
this.meetingId = meetingId;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public Set<Employee> getEmployees() {
return employees;
}
public void setEmployees(Set<Employee> employees) {
this.employees = employees;
}
Main.Java
SessionFactory sf = NewHibernateUtil.getSessionFactory();Session session = sf.openSession();
session.beginTransaction();
Meeting meeting1 = new Meeting("Quaterly Sales meeting");
Meeting meeting2 = new Meeting("Weekly Status meeting");
Employee employee1 = new Employee("Sergey");
Employee employee2 = new Employee("Larry");
employee1.getMeetings().add(meeting1);
employee1.getMeetings().add(meeting2);
employee2.getMeetings().add(meeting1);
session.save(employee1);
session.save(employee2);
session.getTransaction().commit();
session.close();
No comments:
Post a Comment