我正在寻找一种方法,可以帮助我处理具有大量关系@ManyToOne
和@ManyToMany
的数据库中的软删除,而无需更改已用{{1}编写的每个查询关于"禁用"的标准标志。
WHERE
注释会因查询与@Where
关系中的实体而导致jpa异常,原因是"找不到实体" OFC
StackOv的用户建议我在实体上应用Filter并在我需要时启用它,但我找不到在Spring上使用它的方法。
主要问题是:如何在直接查询(即StudentRep.findAll())和相关查询(即BookRep.findAll()中隐藏具有禁用字段== 1的行,其中我只是要求启用学生用书。
有没有干净的方法来做到这一点?
用户
@Where
书
@Entity
@Table(name = "STUDENT")
public class Student extends Person
{
@Field
Boolean Disabled;
@OneToMany
Set<Book> books;
/* getters and setters methods */
}