13
임베드
내에서 임베드에 대한 AttributeOverride은 내가 개체 내에서, 모든 것이 잘 작동 여러 시간을 useit 때 @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;
}
위의 코드는 완벽하게 작동합니다.
이제 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 public class ReportCostEntity implements Identifiable<Long>, Serializable { @Id private Long id; @Embedded private ReportCostValues contracted; @Embedded private ReportCostValues current; @Embedded private ReportCostValues previousReport;
이 코드는 위의 작동하지 않습니다. 어떤 아이디어이 문제에 접근하는 방법?
정말 고마워요! –
@PaulSzulc 당신을 환영합니다. –