У меня есть класс Money, который является @Embeddable
@Embeddable
public class Money implements Serializable, Comparable<Money> {
@Column(name = "amount", precision = 15, scale = 2)
private BigDecimal amount;
}
Когда я использую его несколько раз внутри объекта, все работает нормально. Например, код
@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;
}
выше работает отлично.
Теперь проблема возникает, когда у меня есть другой @Embeddable, в котором я хочу иметь экземпляры Money, и этот @Embeddable используется сущностью несколько раз. Пример:
Embeddable
@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;
Этот код выше не будет работать. Любые идеи, как подойти к этой проблеме?