gpt4 book ai didi

hibernate - 使用 hibernate 注释进行软删除时出错

转载 作者:行者123 更新时间:2023-12-04 02:13:46 25 4
gpt4 key购买 nike

我有以下 JPA 实体

@SQLDelete(sql="UPDATE service SET date_deletion =  CURRENT_DATE() WHERE id = ?")
@Where(clause="date_deletion IS NULL ")
public class Service {
...
}

选择工作正常,所有带有 date_deletion 的元素都没有显示,但是当我尝试删除时....

16:38:26,836  DEBUG SQL:111 - UPDATE service SET date_deletion =  CURRENT_DATE() WHERE id = ?
16:38:26,836 DEBUG AbstractBatcher:418 - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
16:38:26,836 DEBUG JDBCExceptionReporter:225 - could not delete: [com.foo.domain.Service#1] [UPDATE service SET date_deletion = CURRENT_DATE() WHERE id = ?]
java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 1).

SQL 有什么问题?看起来像尝试将 CURRENT_DATE() 作为参数处理并期望 2 个参数而不是 1 个...

最佳答案

已修复。我正在使用内部处理作为参数发送的“版本”字段的 Spring Roo,正确的注解是:

@SQLDelete(sql="UPDATE service SET date_deletion=CURRENT_DATE WHERE id=? and version=? ")
@Where(clause="date_deletion IS NULL ")
public class Service {
...

关于hibernate - 使用 hibernate 注释进行软删除时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14442236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com