当前位置: 首页 > 面试题库 >

如何在JPQL(Spring JPA查询)中使用JOIN执行UPDATE语句?

江衡
2023-03-14
问题内容

这是SQL中的JOIN问题更新语句的扩展,但是我试图使用Spring Data JPQL。

我正在尝试将更新与JPQL中的JOIN一起使用,如下所示

@Modifying
@Query("UPDATE TotalValue tv JOIN LineItems li WHERE li.totalValue.totalValueId=:totalValuedId SET tv.totalAmount =sum(li.itemTotalValue) ")
void calculateTotalAmount(@Param("totalValuedId") Long totalValuedId);

但是,我得到如下错误

org.hibernate.hql.internal.ast.QuerySyntaxException:期望“设置”,找到“ JOIN”

JPQL中无法进行UPDATE和JOIN吗?有什么选择。谢谢


问题答案:

该JPQL语法似乎表明,一个JOIN实际上是不可能在一个UPDATE语句。



 类似资料:
  • 这是在SQL中使用JOIN的question Update语句的扩展,但我正在尝试使用Spring Data JPQL。 我试图在JPQL中使用Update和JOIN,如下所示 在JPQL中是否不能更新和连接?另一种选择是什么。谢谢

  • 问题内容: 这是SQL中的JOIN问题更新语句的扩展,但是我尝试使用Spring Data JPQL。 我正在尝试将更新与JPQL中的JOIN一起使用,如下所示 但是,我得到如下错误 org.hibernate.hql.internal.ast.QuerySyntaxException:期望“设置”,找到“ JOIN” JPQL中无法进行UPDATE和JOIN吗?有什么选择。谢谢 问题答案: 该J

  • 问题内容: 我需要使用其“父”表中的数据更新SQL Server中的此表,如下所示: Table: sale Table: ud 包含要更新的正确值。 什么查询将执行此操作?我正在考虑a,join但不确定是否可行。 问题答案: 语法严格取决于您使用的SQL DBMS。这里有一些在ANSI / ISO(也可以在任何SQL DBMS中使用),MySQL,SQL Server和Oracle上完成此操作的

  • 问题内容: 我问了一个问题,得到了答复,这很有帮助。 现在,如果有3张表涉及这样的事情,我正在寻找这样做。 我的问题基本上是…这可以在一个语句上进行3个表联接吗?正确的语法是什么?谢谢。我会做… 问题答案: 答案是你可以 这样尝试 编辑: 对于常规更新,请加入:

  • 我正在使用Spring Boot和JDBCT模板开发一个用于数据库查询的应用程序。 问题是这样的:如果我必须在一个表上询问db,我没有问题。但是,如果我有一个join,我该如何执行这个任务? 更具体地说,创建表的SQL命令如下: 对应的java类如下: 约束是 firewall_Items.firewall_id = firewall.id(因此,这些是我必须用来执行 join 的变量)。 现在,

  • 问题内容: 我想加入两个表CUSTMR和DEPRMNT。 我需要的是:LEFT OUTER JOIN内有两个或多个带有子查询的表的LEFT OUTER JOIN,如下所示: 表格:CUSTMR,DEPRMNT 查询为: 这里的子查询是: 是否可以在LEFT OUTER JOIN内编写这样的子查询? 在我的DB2数据库上运行此查询时出现错误。 问题答案: 您需要在子选择上使用“ correlatio