3
我一直在尋找天,但似乎無法找到答案。刪除對象與Hibernate和Java的多對多關聯
鑑於這種多對多(員工/會議)
@Entity
@Table(name="EMPLOYEE")
public class Employee {
@Id
@Column(name="EMPLOYEE_ID")
@GeneratedValue
private Long employeeId;
@ManyToMany(cascade = {CascadeType.ALL})
@JoinTable(name="EMPLOYEE_MEETING",
joinColumns={@JoinColumn(name="EMPLOYEE_ID")},
inverseJoinColumns={@JoinColumn(name="MEETING_ID")})
private Set<Meeting> meetings = new HashSet<Meeting>();
}
@Entity
@Table(name="MEETING")
public class Meeting {
@Id
@Column(name="MEETING_ID")
@GeneratedValue
private Long meetingId;
@ManyToMany(mappedBy="meetings")
private Set<Employee> employees = new HashSet<Employee>();
}
我的員工添加到會議,並在employee_meeting表顯示出來。
當我得到一個會議對象並將其刪除時,它也從連接表中消失,但仍保留在員工集中......這是預期的行爲嗎?
這是我會怎麼刪除會議對象
session.delete(meeting);
transaction.commit();
在這一點上它是從表中消失了。
謝謝!
是的,你有手動。 – 2012-03-22 02:34:25
真的!?有沒有這樣的模式? – lsaffie 2012-03-22 02:54:49
只需使用「設置#刪除」。 – 2012-03-22 03:04:27