【发布时间】:2014-08-16 17:50:35
【问题描述】:
有两个表:作者和书籍。多对多之间的通信。
作者
@ManyToMany(fetch = FetchType.LAZY, mappedBy = "authorList",cascade= {CascadeType.PERSIST} )
private List<Book> bookList;
书
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name= "author_book",
joinColumns = {@JoinColumn(name="book_id",nullable=false)},
inverseJoinColumns = {@JoinColumn(name="author_id",nullable = false)})
private List<Author> authorList;
表格
Book1(Author1)
Book2(Author1, Author2)
在本实施例中,如果作者删除表的形式为
Book1()
Book2(Author2)
如果我输入类作者级联 Cascade.ALL,它会删除所有提到该作者的书籍
问题:删除作者时我应该怎么做,并且已经删除了他的所有书籍,但是如果该书有多个作者,则将其删除为仅该作者在本书中的值。
【问题讨论】:
标签: jsp spring-mvc many-to-many hibernate-mapping dao