사용할 주석을 결정하려고합니다. 당신의 의견을 제시 할 수 있습니까?OpenJPA : 여러 개의 @Embedded 대 하나의 @ElementCollection
내가 지금 무엇을 가지고 : 동일하게 유지 것이다
@Entity
public class Balance {
@ElementCollection
private Map<AmountType, Amount> amounts;
}
public enum AmountType {
ATM, BRANCH, VAULT;
}
양 :
@Entity
public class Balance {
@Embedded
private Amount amountAtm;
@Embedded
private Amount amountBranch;
@Embedded
private Amount amountVault;
}
@Embeddable
public Amount {
private BigDecimal debit;
private BigDecimal credit;
}
나는 그것을 변경하려면 무엇.
이 변경 이유는 저울 내부의 금액이 개념적으로 모음이기 때문입니다. 나도 같은 시간에 모든 것을 표시하거나 변경하거나 아예 전혀 표시하지 않습니다. 그래서 저는 그들을 그룹으로 대합니다.
질문 : 잔액과 같이
- 는 지금 금액은 같은 테이블에 저장됩니다 (내가 열 이름을 오버라이드 (override)는,이 코드에 표시되지 않습니다). 그러나이 변경을하면 모든 데이터를 하나의 테이블에 저장할 수 없습니다. 별도의 테이블에 금액을 저장해야합니다. 이것이 맞습니까?
이제는 SQL 등에서 JOIN을 작성해야한다는 것을 고려하면 이것은 성능에 어떤 영향을 미칩니 까? Oracle 11g을 사용 중이며 100,000 개의 잔액 레코드 (따라서 300,000 개의 금액)가 있다고 가정 해 봅니다. 변경 후 응용 프로그램의 속도 저하를 알 수 있습니까?
JPA (1 또는 2 또는 2.1) 그러한가 없습니다를 @ EmbeddedCollection 주석을 사용하고 있으며 OpenJPA 문서에도 없습니다. 아마도 당신이 무엇을 의미하는지 명확하게 ... – DataNucleus
@DataNucleus 당신 말이 맞아요, 나는 \ @ ElementCollection 주석을 의미했습니다. 또한, 나는 그것을 더 분명하게하기 위해 질문을 완전히 다시 썼다. 의견에 감사드립니다. – anton1980