小编Ale*_*vic的帖子

使用JPA映射计算的属性

有没有办法使用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方法.

谢谢,亚历克斯

java persistence jpa

11
推荐指数
2
解决办法
2万
查看次数

标签 统计

java ×1

jpa ×1

persistence ×1