JPA 用了软删除后,如何查询被删除的记录

2018-08-16 10:34:58 +08:00
 reid2017
@Where(clause = "deleted = false")
public class User{

    private Long id;
    private String userName;
    private Boolean deleted = false;

}

例如,有上面的实体类,启用了软删除标记,并加入了 @where 的注解,查询时会自动添加该条件,有没有办法可以动态的关闭这个过滤条件呢?

1915 次点击
所在节点    程序员
4 条回复
undeflife
2018-08-16 11:07:49 +08:00
用 NamedQuery?
q397064399
2018-08-16 13:32:26 +08:00
findAllByDeleted(false)
letitbesqzr
2018-08-16 17:41:14 +08:00
@Where 这个 Annotation 是 hibernate 提供的吧,建议不要使用,还是靠自己封装一个 BaseEntity 里面加上,在各种 find 方法里 自己实现下排除比较好。
reid2017
2018-08-17 10:01:32 +08:00
@letitbesqzr 确实最后还是只能不用这个 Annotation 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/480294

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX