如何使用命名查询更新数据库中的记录

How to update record in DB using namedqueries

我想知道如何创建更新命名查询来更新 derby 数据库中的记录。

这是我的场景,我在名为 bank 的数据库中有一个名为 table 的帐户。 在帐户 table 中有 2 列,帐户 ID 和余额。

我想键入一个更新查询,它将使用帐户 ID 更新记录的余额。 我熟悉 sql 查询但不熟悉命名查询。

这是我创建的

@NamedQuery(name="Accountcb004415.updateBalance",
  query="UPDATE Accountcb004415 
  set a.balance = :balance WHERE a.accountid= :accountid")

但是上面的查询不起作用。 这里似乎有什么问题?

我猜您在查询定义中遗漏了 标识变量 a。换句话说,实体名称需要使用值 a 作为别名。试试这个:

UPDATE Accountcb004415 a
  set a.balance = :balance WHERE a.accountid= :accountid