tengo dinero, que es una clase @Embeddableanidada integrable - AttributeOverride para integrable dentro integrable
@Embeddable
public class Money implements Serializable, Comparable<Money> {
@Column(name = "amount", precision = 15, scale = 2)
private BigDecimal amount;
}
Cuando Useit múltiples veces dentro de la entidad, todo funciona bien. Por ejemplo
@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;
}
El código anterior funciona perfectamente.
Ahora el problema ocurre cuando tengo otro @Embeddable que quiero tener instancias de Money en él y que @Embeddable es utilizado por una entidad varias veces. Ejemplo:
exportable
@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;
Entidad
@Entity public class ReportCostEntity implements Identifiable<Long>, Serializable { @Id private Long id; @Embedded private ReportCostValues contracted; @Embedded private ReportCostValues current; @Embedded private ReportCostValues previousReport;
Este código de seguridad no funcionará. ¿Alguna idea de cómo abordar este problema?
funcionó, ¡muchas gracias! –
@PaulSzulc de nada –