有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

hibernate Java类变量与其他变量的声明

我有一个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) 个答案

  1. # 1 楼答案

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

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

    或者,如果对象是不可变的,即使是查询:

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

    当然,您应该在数据库中使用BigDecimal,而不是Double来获取金钱和DECIMAL