Есть ли способ сопоставить вычисленное свойство с помощью JPA?
Предполагая, что у меня есть объект Invoice
с одним или несколькими InvoiceLineItems
внутри него, я хочу иметь постоянное вычисляемое свойство в классе Invoice
, которое дает мне общую сумму:
class Invoice {
...
@Column(name = "TOTAL_AMOUNT")
public BigDecimal getTotalAmount() {
BigDecimal amount = BigDecimal.ZERO;
for (InvoiceLineItem lineItem : lineItems) {
amount = amount.add(lineItem.getTotalAmount());
}
return amount;
}
}
Теперь я мог бы создать защищенный метод no-op setTotalAmount
, чтобы сделать JPA счастливым, но мне было интересно, есть ли способ дать JPA знать, что сопоставление является только одним способом и чтобы избежать создания избыточного метода setter.
Спасибо, Aleks