小编use*_*601的帖子

Spring data jpa SELECT ... FOR UPDATE 查询不适用于@query

我正在尝试在 Spring Data Jpa 存储库中使用 FOR UPDATE 和 SELECT。

下面的查询在数据库控制台上运行时不会出错。但是在 Spring Data JPA 中抛出异常,它无法识别以下查询中的令牌。
在第一行代码中故意使用大括号而不是大于和小于符号,因为它在尝试发布问题时将数据隐藏在这些标签中

public interface XRepository extends JpaRepository(X, String) {
@Query(value = "SELECT UPDATE t FROM X t WHERE t.a = ?1 AND t.b = ?2 FOR UPDATE")
X findByAAndB(String a, String b);
}
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

 Caused by: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: FOR near line 1, column 141 IT is giving error for FOR in Query
    at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1679) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final]
    at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1602) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final]
    at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1608) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final]
    at org.hibernate.jpa.spi.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:294) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final]
    at …
Run Code Online (Sandbox Code Playgroud)

java db2 spring-data-jpa

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

db2 ×1

java ×1

spring-data-jpa ×1