来自其他变量的Java Class变量声明

时间:2017-08-18 22:21:50

标签: java hibernate

我有一个java域类,它为数据库中的表建模,我有两个字段 双倍预算1 双重预算2 我需要在类中添加另一个字段作为成员变量 double totalBudget是budget1和budget2的一部分,我该如何在java8中执行此操作?

@Formula("(SELECT SUM(c.budget1) FROM table1)
private Double budget1;

@Formula("(SELECT SUM(c.budget2) FROM table2)
private Double budget2;

@Transient
private Double totalBudget = budget1 + budget2;

这给了我一个错误

1 个答案:

答案 0 :(得分:-1)

您不需要可以从其他字段推断出其值的字段。你应该使用没有字段的getter:

public Double getTotalBudget()
{
    return budget1+budget2;
}

或者如果对象是不可变的,甚至是查询:

@Formula("(SELECT SUM(c.budget1)+SUM(c.budget2) FROM table2)")
private Double totalBudget;

当然,您应该使用BigDecimal,而不是Double,以及数据库中的DECIMAL