休眠3在删除级联
我有一个多对一的预订映射。 预订必须属于一个房间。而一个房间可以有几个预订。休眠3在删除级联
如果某个房间被删除,我希望该房间的所有预订也被删除。 我将如何去做这个使用hibernate注释?
@Entity
public class Booking implements Serializable{
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private Date startDate;
private Date endDate;
private Date createdDate;
@ManyToOne
@JoinColumn (name = "roomId")
private Room room;
...
}
在你Room
实体,你可以有一个
@OneToMany(cascade=CascadeType.REMOVE)
private List<Booking> bookings;
使用
@ManyToOne(cascade = CascadeType.REMOVE)
当某个预订被移除时,这将删除房间,或者如果房间与其他预订相关联,它肯定会尝试并可能导致约束违规。 –
这不起作用...尝试删除房间时仍出现约束错误。 – user829237
@Andrei,我们在这里都是错误的,因为多对一的注解没有orphanRemoval属性。 :)但谢谢你。我没有注意到它是多对一的,我认为它是一对多的:)我将在稍后删除它:) +1评论 –
我没有预订的在我的房间实体列表。如果可能的话,我想保持这种方式。在没有向房间介绍预订的情况下,有没有办法做到这一点? – user829237
不可以。但是,添加收款并不会导致任何费用(默认情况下会延迟) – Bozho