ho lezione di denaro che è un @Embeddablenidificato incorporabile - AttributeOverride per integrabile all'interno embeddable
@Embeddable
public class Money implements Serializable, Comparable<Money> {
@Column(name = "amount", precision = 15, scale = 2)
private BigDecimal amount;
}
Quando ho UseIt tempo multiple all'interno entità, tutto funziona bene. Ad esempio
@Entity
public class SomeEntity implements Serializable {
@Embedded
@AttributeOverride(name = "amount", column = @Column(name = "entry"))
private Money entryValue;
@Embedded
@AttributeOverride(name = "amount", column = @Column(name = "leave"))
private Money leaveValue;
}
Il codice sopra funziona perfettamente.
Ora il problema si verifica quando ho un altro @Embeddable che voglio avere istanze di Money in esso e che @Embeddable è utilizzato da un'entità più volte. Esempio:
integrabile
@Embeddable public class ReportCostValues implements Serializable { @Embedded @AttributeOverride(name = "amount", column = @Column(name = "covered_by_grant")) private Money coveredByGrant; @Embedded @AttributeOverride(name = "amount", column = @Column(name = "own_resources")) private Money foundedFromOwnResources; @Embedded @AttributeOverride(name = "amount", column = @Column(name = "personal_contribution")) private Money personalContribution;
Entity
@Entity public class ReportCostEntity implements Identifiable<Long>, Serializable { @Id private Long id; @Embedded private ReportCostValues contracted; @Embedded private ReportCostValues current; @Embedded private ReportCostValues previousReport;
Questo codice sopra non funzionerà. Qualche idea su come affrontare questo problema?
ha funzionato, grazie mille! –
@PaulSzulc sei il benvenuto –