Java 在sql中计算列的总数

Java 在sql中计算列的总数,java,sql,Java,Sql,我正在尝试用sql计算总量。我正在使用java POJO类。现在我正在编写这样的查询 "SELECT SUM(amount) FROM fundraisingusers "; 但它显示错误,因为在com.lh.alumbers.dto.FundraisingUsers类上找不到SUM(amount)的setter。如何在我的Java pojo类中添加SUM的getter和setter 这是我的pojo课程 public class FundraisingUsers implements

我正在尝试用sql计算总量。我正在使用java POJO类。现在我正在编写这样的查询

    "SELECT SUM(amount) FROM fundraisingusers ";
但它显示错误,因为在com.lh.alumbers.dto.FundraisingUsers类上找不到SUM(amount)的setter。如何在我的Java pojo类中添加SUM的getter和setter

这是我的pojo课程

public class FundraisingUsers implements Serializable{
    private Integer fundraisinguserId;
    private BigDecimal amount;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "fundraisinguserId")
    public Integer getFundraisinguserId() {
    return fundraisinguserId;
    }

    public void setFundraisinguserId(Integer fundraisinguserId) {
    this.fundraisinguserId = fundraisinguserId;
    }

    @Column(name = "amount")
    public BigDecimal getAmount() {
    return amount;
    }

    public void setAmount(BigDecimal amount) {
    this.amount = amount;
}

我想你想做的是,你想得到所有用户的总数

这里的问题是,您试图获取一个
fundraisingusers
-对象,并将该金额分配给所有用户和每个用户的金额之和。这是错误的

您可以做的是:

SELECT amount FROM fundraisingusers;
对于您得到的所有模型,您可以在代码端构建总和

或者您可以尝试使用getter/setter构建pojo,如

private BigDecimal sumamount;

@Column(name = "sumamount")
public BigDecimal getSumAmount() {
    return this.sumamount;
}

public void setSumAmount(BigDecimal amount) {
    this.sumamount= sumamount;
}
问题是

SELECT sum(amount) as SumAmount FROM fundraisingusers;

您可以向我们展示您的pojo类吗?您如何构造和执行该查询?作为本机sql查询、jsql查询还是使用一些标准api?我有dao和服务层。从dao执行查询您似乎使用了一个框架,将sql结果列映射到对象设置器。请告诉我们您使用的是哪个框架。@RalfKleberhoff我想他使用的是hibernate。它显示了setSumAmount的错误,就像此方法必须返回一样BigDecimal@SachinHR您的
amount
-列是什么类型的db?它是bigdecimal类型您得到的确切例外情况是什么?您可以告诉我是否必须在pojo中创建另一个字段作为私人的大数目?