Spring 每次交易后我如何获得总余额

Spring 每次交易后我如何获得总余额,spring,spring-boot,spring-mvc,spring-data-jpa,jpql,Spring,Spring Boot,Spring Mvc,Spring Data Jpa,Jpql,嗨,伙计们。我正在拼命寻求帮助。 谢谢现在 请看下表。最右边的列剩余余额包含贷方金额-借方金额之和。但当我添加一个新的信用额度时,整个栏目都会发生变化。例如,“剩余余额”列的值为102500.0。如果我加上500个积分,那么应该只在该特定行中给我102500+500=103000。102500将在前一行中保持不变。但我的问题是,它会在整个专栏中发生变化 我用这个存储库计算了贷项总额,减去了借方总额 // Find remaining balance @Query("SELECT SUM

嗨,伙计们。我正在拼命寻求帮助。 谢谢现在

请看下表。最右边的列剩余余额包含贷方金额-借方金额之和。但当我添加一个新的信用额度时,整个栏目都会发生变化。例如,“剩余余额”列的值为102500.0。如果我加上500个积分,那么应该只在该特定行中给我102500+500=103000。102500将在前一行中保持不变。但我的问题是,它会在整个专栏中发生变化

我用这个存储库计算了贷项总额,减去了借方总额

// Find remaining balance
@Query("SELECT SUM(b.credit_amount - b.debit_amount) FROM Mosque b")
double remainingBalance();

谢谢您的关注。

看来您需要在查询中指定一个条件,否则,SQL查询(在您的例子中是JPQL)将应用于整个表

我会这样做:

@Query("SELECT SUM(b.credit_amount - b.debit_amount) FROM Mosque b where b.id =?")
double remainingBalance(int id);

否则,如果没有条件,对于您拥有的每个域对象,您将查询整个表。因此,您将始终得到相同的结果。如果在数据库中运行此查询,您将看到只有一个结果,因为SUM是将所有行“求和”。

您需要一个子查询来实现这一点。