Hibernate 3 On delete cascade

user829237 picture user829237 · Oct 5, 2011 · Viewed 8.9k times · Source

I have a many-to-one mapping on bookings. A booking must belong to a room. And a room can have several bookings.

If a room is deleted, I would like all the bookings on that room to be deleted as well. How would i go about doing this using hibernate annotations?

@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;
...
}

Answer

Bozho picture Bozho · Oct 5, 2011

In your Room entity you can have a

@OneToMany(cascade=CascadeType.REMOVE) 
private List<Booking> bookings;