当前的软删除实现如下所示
家长班
@MappedSuperclass
public abstract class ParentClass {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
protected Long id;
private boolean archived = false;
}
Run Code Online (Sandbox Code Playgroud)
儿童班1
@Entity
@SQLDelete(sql = "UPDATE child_class1 SET archived = 1 WHERE id = ?")
@Where(clause = "is_archived = 'false'")
public class ChildClass1 extends ParentClass {
...
...
}
Run Code Online (Sandbox Code Playgroud)
儿童班2
@Entity
@SQLDelete(sql = "UPDATE child_class2 SET archived = 1 WHERE id = ?")
@Where(clause = "is_archived = 'false'")
public class ChildClass2 extends ParentClass {
...
...
}
Run Code Online (Sandbox Code Playgroud)
如您所见,SQLDelete&Where子句在查询中有微小差异的情况下重复出现。有没有一种方法可以将它们归纳并能够将它们放入ParentClass?就像是
@MappedSuperclass
@SQLDelete(sql …Run Code Online (Sandbox Code Playgroud)