删除中的许多对象使用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(会议); 器transaction.commit();

此时它是从表消失。

谢谢!

--------------解决方案-------------

是的,这是正确的行为。 如果你有很多一对多的关系,那么你需要手动删除它。 请参考以下链接对Hibernate集合映射策略

分类:java的 时间:2015-03-15 人气:0
本文关键词: Java中,冬眠
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.373 (s). 10 q(s)