基本上我的問題是爲什麼如果我有這樣的Hibernate關係。自動休眠保存關係
@OneToMany(cascade = {CascadeType.ALL})
@JoinColumn(name = "candidacy_id", nullable = false)
@XmlElement
@JsonIgnore
@Getter
@Setter
private List<EvaluationSelectionCriteria> evaluationSelectionCriterias = new ArrayList<>();
@ManyToOne
@JoinColumn(name = "candidacy_id", nullable = false, insertable = false, updatable = false)
@XmlTransient
@Getter
@Setter
private Candidacy candidacy;
爲什麼如果我這樣做candidacy.setEvaluationSelectionCriteria(名單)自動此列表中的數據庫持久?
我想用EvaluationSelectionCriteria作爲存儲庫來呈現「未來」 EvaluationSelectionCriteria
的名單可能是因爲不是懶惰?
更多細節解釋
所以會像我所說的方法,有I'm從數據庫實體中得到那麼我設置列表分爲A,然後我的方法返回A,但我可不是節約A,當我看到列表的值已經有了ID!
+1但我不明白問題的第二部分 –
我的猜測是列表的內容應該只保存到數據庫中。如果沒有級聯,OP將不得不先保存列表中的元素。 – kostja
不,沒有那個部分是清楚的。這裏奇怪的是我沒有保存實體。我只是將列表設置到實體中,然後返回實體但我不保存。唯一的問題是我的整個服務都是交易性的,但是在任何時候我都會保存這個實體。所以會像我打電話給方法a,那裏我從數據庫實體A獲得,然後我將一個列表設置爲A,然後我在方法中返回A,但是我不保存A,當我看到列表的值時有ids !!! – paul