Ron*_*dur 5 java hibernate spring-data
我正在尝试在我的 spring - hibernate 项目中实现软删除。我的计划是使用@SQLDelete注释覆盖删除方法,并@Where在我的查询中使用休眠注释过滤逻辑删除的实体。
当我尝试@Where在超类中定义子句时遇到一些困难,实体似乎没有@Where从抽象基类继承子句。
注意:如果我将@Where注释移动到实体类,一切都会按预期工作
基本实体类:
@MappedSuperclass
@Where(clause = " IS_DELETED = false")
public abstract class BaseEntity {
@Column(name = "IS_DELETED")
private boolean isDeleted;
public BaseEntity() {
}
public boolean getIsDeleted() {
return this.isDeleted;
}
public void setIsDeleted(boolean isDeleted) {
this.isDeleted = isDeleted;
}
}
Run Code Online (Sandbox Code Playgroud)
实体类:
@Entity
@Table(name = "Events")
@SQLDelete(sql ="UPDATE events " +
"SET IS_DELETED = true " +
"WHERE id = ?")
public class Event extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID")
private Long id;
@Column(name = "NAME")
private String name;
public Event() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Run Code Online (Sandbox Code Playgroud)
感谢您的任何帮助:)
你尝试过这个吗?
@Where(clause = "IS_DELETED = 0")
Run Code Online (Sandbox Code Playgroud)
或者
@Where(clause = "isDeleted = 0")
Run Code Online (Sandbox Code Playgroud)
?
| 归档时间: |
|
| 查看次数: |
479 次 |
| 最近记录: |