0
在編寫書店應用程序時,我需要爲Book和Publisher類放置映射。使用休眠來刪除沒有圖書的出版商
本書與發佈者具有n對1的關係。也與作者n比1。 我想給管理員用戶一個選項來刪除書籍,作者或發佈者。
沒有書的出版商沒有任何意義。與作者類似的情況。如果發佈者的所有書籍都被刪除,則發佈者必須從數據庫中刪除。 如果作者的所有圖書被刪除,作者也應該被刪除。 這聽起來像是一個刪除孤兒級聯。但多對一映射不支持刪除孤兒。
此外,如果我刪除了一個出版商,他的所有書籍都應該被刪除。 同樣,刪除作者應刪除他的所有書籍。
當前,我有作者,出版者和書籍類定義如下, 書有字段作者和出版者.But,作者或出版者,沒有提及他們的書。 我是否需要重新定義這些類? 我應該如何映射Book和Publisher之間的關係?
任何幫助表示讚賞
public class Book {
private Long bookId;
private Author author;
private Publisher publisher;
...
}
public class Publisher {
private Long publisherId;
private String name;
}
public class Author {
private Long authorId;
private String name;
}
<class name="Book" table="BOOKS">
<id name="bookId" column="BOOKID" type="long">
<generator class="native"/>
</id>
...
<many-to-one name="publisher" class="Publisher" column="PUBLISHERID" lazy="false" cascade="save-update"/>
...
您可能希望孤兒刪除太... @OneToMany(cascade = CascadeType.ALL,orphanRemoval = true) – ptomli
這是否意味着類作者和出版商包含參考書籍? – markjason72
@ markjason72是的。 – Bozho