有没有办法使用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;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我可以创建一个受保护的无操作setTotalAmount方法来让JPA高兴,但我想知道是否有办法让JPA知道映射只是一种方式,并避免创建一个多余的setter方法.
谢谢,亚历克斯