我有两个班
图书和DeliveryRequest现在我想,当图书的对象被删除,则对应于这本书的所有请求被删除。
交付请求类:
@Entity
@Table(name="Delivery_Request")
public class DeliveryRequest{
private int deliveryRequestId;
private Book book;
private User user;
@Id
@GeneratedValue
@Column(name="Delivery_Request_Id")
public int getDeliveryRequestId() {
return deliveryRequestId;
}
public void setDeliveryRequestId(int deliveryRequestId) {
this.deliveryRequestId = deliveryRequestId;
}
@ManyToOne
@JoinColumn(name="Book_Id")
public Book getBook() {
return book;
}
public void setBook(Book book) {
this.book = book;
}
@ManyToOne
@JoinColumn(name="User_Id")
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
图书类
@Entity
public class Book {
private int bookId;
private Set<DeliveryRequest> requests = new HashSet<DeliveryRequest>(0);
@Id
@GeneratedValue
@Column(name="Book_Id")
public int getBookId() {
return bookId;
}
public void setBookId(int bookId) {
this.bookId = bookId;
}
@OneToMany(fetch=FetchType.EAGER , cascade=CascadeType.ALL , mappedBy="book")
public Set<DeliveryRequest> getRequests() {
return requests;
}
public void setRequests(Set<DeliveryRequest> requests) {
this.requests = requests;
}
}
可以做些什么来提供这种级联效应。
您正在寻找删除级联。
@org.hibernate.annotations.Cascade({org.hibernate.annotations.CascadeType.DELETE})