我们的客户希望将记录标记为已删除,而不是删除记录。我们正在使用 JPA2/Hibernate。我想做如下的事情:
@Entity
@Table(name="TABLE")
@ActionOverride(action="delete", with="activeFlag = false")
public class Table {
@Column(name="ACTIVE_FLAG")
boolean activeFlag;
// ...
}
我过去曾经这样做过,但我似乎找不到正确的语法和注释。
最佳答案
看看hibernate documentation ,您要查找的注释是 @SQLDelete
。
@Entity
@Table(name="TABLE")
@SQLDelete(sql = "UPDATE TABLE SET ACTIVE_FLAG = false WHERE id = ?")
public class Table {
@Column(name="ACTIVE_FLAG")
boolean activeFlag;
// ...
}
关于hibernate - 覆盖 JPA/Hibernate 中的默认删除()/DELETE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9383071/