【发布时间】:2020-07-03 15:28:04
【问题描述】:
我想删除一个列值,这是我的查询:
@Modifying
@Query("update TableA r set r.readDate= '' where r.id= :id")
void clearReadDate(@Param("id") String id);
但是当我执行它时,我得到:
ORA-00971:缺少 SET 关键字
怎么会?
底层的SQL也很奇怪:
Hibernate: update SC.TABLEA cross join set READ_DATE='' where ID=?
什么是交叉连接?
【问题讨论】:
-
update Entity。您真的将您的实体命名为Entity还是我错过了有关 Spring JPA 和某种特殊的Entity关键字的信息?尝试更改您的班级名称。 Entity 可能是一个保留字。交叉连接是笛卡尔积。更多信息在这里:w3resource.com/sql/joins/cross-join.php -
嗨!这只是我当时编的一个名字,但我更新了问题
-
有时候,名字很重要。它可以触发这样的错误。
标签: hibernate jpa spring-data-jpa