我有一個實體,其中有兩個相同類型的Embedded
類,哪一個具有相同類型二的ElementCollection
。業務邏輯顯然是正確的,但我猜,JPA缺乏知識,所以我遇到了一些問題。jpa - 兩個不同的@Embeddable類中的多個@ElementCollection
讓我們來看看我的課:
@Entity
public class Etapa extends EntidadeBase {
@Embedded
private CronogramaDeDesembolso cronogramaDeReceita;
@Embedded
private CronogramaDeDesembolso cronogramaDeDespesa;
}
@Embeddable
public class CronogramaDeDesembolso {
@ElementCollection
private List<Parcela> parcelas;
}
我收到以下錯誤日誌。
產生的原因:org.hibernate.HibernateException:找到共享引用 到集合: nexxus.convenioestadual.dominio.planodetrabalho.etapa.Etapa.cronogramaDeReceita.parcelas
難道你們有什麼什麼是錯誤的線索,我該如何解決它?
編輯:
由於意見我這樣做編輯和它不工作太
@Entity
public class Etapa extends EntidadeBase {
@Embedded
@AttributeOverride(name = "parcelas", column = @Column(name = "parcelasReceita"))
private CronogramaDeDesembolso cronogramaDeReceita;
@Embedded
@AttributeOverride(name = "parcelas", column = @Column(name = "parcelasDespesa"))
private CronogramaDeDesembolso cronogramaDeDespesa;
}
我已經嘗試過同樣的職務,做 '@AttributeOverride(NAME = 「parcelas」,列= @Column(name = 「parcelasDespesa」))' 但不改變屬性_parcelas_和錯誤的名稱持續存在 – higornucci
您是否在每個嵌入對象上使用該行代碼?我相信他們實際上需要引用數據庫中的不同物理列。所以它需要看起來更像這樣(假設我正確理解這一點): '@ Embedded' '@AttributeOverride(name =「parcelas」,column = @Column(name =「parcelasDeReceita」))'' '私人CronogramaDeDesembolso cronogramaDeReceita;'' @ Embedded' '@AttributeOverride(NAME = 「parcelas」,列= @Column(name = 「parcelasDespesa」))'' 私人CronogramaDeDesembolso cronogramaDeDespesa;' –
我給你建議的修改它仍然不起作用= [ – higornucci