user829237
user829237

Reputation: 1769

Hibernate 3 On delete cascade

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

Upvotes: 10

Views: 9836

Answers (2)

danny.lesnik
danny.lesnik

Reputation: 18639

Use

 @ManyToOne(cascade = CascadeType.REMOVE)

Upvotes: 4

Bozho
Bozho

Reputation: 597362

In your Room entity you can have a

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

Upvotes: 13

Related Questions