【发布时间】:2010-11-24 11:38:50
【问题描述】:
有没有办法使用 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;
}
}
现在,我可以创建一个受保护的无操作 setTotalAmount 方法来让 JPA 满意,但我想知道是否有办法让 JPA 知道映射只是一种方法,并避免创建多余的 setter 方法.
谢谢, 亚历克斯
【问题讨论】:
标签: java jpa persistence