0
刪除同一實體我有4類實體:CtPersonaFirma,CtFirmaDocumento和CtContrato。一個人可以簽署幾份合同,一份合同可以由多人簽署。更新集合時,從其他集合
CtPersonaFirma:包含授權簽署人。
CtContrato:包含合同
CtFirmaDocumento:上面的兩個表之間的關係。
當我刪除一個人CtPersonaFirma表級聯刪除CtFirmaDocumento表,其中有引用刪除的人,但在集合ctFirmaDocumentoCollection的實體CtContrato未更新。
public class CtContrato implements Serializable {
@Id
@Basic(optional = false)
@NotNull
@Column(name = "id_contrato")
private Integer idContrato;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "ctContrato", fetch=FetchType.LAZY)
private Collection<CtFirmaDocumento> ctFirmaDocumentoCollection;
public class CtPersonaFirma implements Serializable {
@Id
@Basic(optional = false)
@NotNull
@Column(name = "id_persona")
private Integer idPersona;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "ctPersonaFirma")
private Collection<CtFirmaDocumento> ctFirmaDocumentoCollection;
public class CtFirmaDocumento implements Serializable {
@EmbeddedId
protected CtFirmaDocumentoPK ctFirmaDocumentoPK;
@JoinColumn(name = "id_persona_ref", referencedColumnName = "id_persona", insertable = false, updatable = false)
@ManyToOne(optional = false)
private CtPersonaFirma ctPersonaFirma;
@JoinColumn(name = "id_contrato", referencedColumnName = "id_contrato", insertable = false, updatable = false)
@ManyToOne(optional = false)
private CtContrato ctContrato;
強制刷新,可以得到什麼樣的問題呢? – meyquel
這是一個數據庫訪問權限,因此它具有性能成本。刷新與未提交更改的實體將恢復這些變化,這就是爲什麼我認爲這是更容易維護雙方,或者只是不映射1:在所有的M。 – Chris
我明白了,謝謝你這麼多... – meyquel