JPA相当于减法

时间:2016-10-25 11:35:07

标签: java spring hibernate jpa

试图谷歌这一点,没有发现任何接近。

我在Spring Boot项目中使用JPA和Hibernate。我想知道JPA相当于

UPDATE balance
SET amount = amount - :transactionAmount
WHERE accountId = :accountId

这样做的目的是执行整个更新,而不会冒另一条记录更新值并丢失金额的风险。

1 个答案:

答案 0 :(得分:2)

UPDATE Balance b
SET b.amount = b.amount - :transactionAmount
WHERE b.accountId = :accountId

记住JPQL是针对逻辑模型而不是数据库执行的,因此名称是实体的名称(读取:Java类名称),因此Balance b。您还需要对标识符进行限定,因此b.amount代替amount。当然,SETWHERE:)

之前