小编Yog*_*dke的帖子

Hibernate使用超类实现软删除

当前的软删除实现如下所示

家长班

@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)

java hibernate jpa

5
推荐指数
0
解决办法
381
查看次数

标签 统计

hibernate ×1

java ×1

jpa ×1