我有兩個類成分和過敏原,我想堅持下去。
成分與過敏原有一對多的關系
public class Ingredient() {
@OneToMany
List<Allergen> allergens;
}
問題是每次我保存一個新的成分物件時,都會在過敏原表中創建一個過敏原,每個過敏原都出現在成分過敏原串列中。例如,如果一種成分在串列中包含“麩質”,而另一種成分具有相同的過敏原,那么表過敏原包含相同過敏原的重復,如何避免這種行為?我嘗試分配相同的過敏原 ID,但不起作用。
uj5u.com熱心網友回復:
我認為您需要搜索已經在資料庫中的過敏原。進行按名稱搜索的搜索查詢,然后搜索我是否已經有“麩質”。
如果是,請獲取此物件并將其添加到新成分的過敏原中。這樣 id 將在 Allergen 中設定,JPA 會話將知道該物體在 DB 中,希望它不會重復。
另請檢查您用于保存在 db 中的方法的檔案,因為它可能會影響您的代碼。例如: Hibernate 中的 session.persist() 和 session.save() 有什么區別?
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/524359.html
標籤:爪哇春天休眠jpa
