V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
reid2017
V2EX  ›  程序员

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

  •  
  •   reid2017 · 2018-08-16 10:34:58 +08:00 · 1904 次点击
    这是一个创建于 2051 天前的主题,其中的信息可能已经有所发展或是发生改变。
    @Where(clause = "deleted = false")
    public class User{
    
        private Long id;
        private String userName;
        private Boolean deleted = false;
    
    }
    

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

    4 条回复    2018-08-17 10:01:32 +08:00
    undeflife
        1
    undeflife  
       2018-08-16 11:07:49 +08:00
    用 NamedQuery?
    q397064399
        2
    q397064399  
       2018-08-16 13:32:26 +08:00
    findAllByDeleted(false)
    letitbesqzr
        3
    letitbesqzr  
       2018-08-16 17:41:14 +08:00
    @Where 这个 Annotation 是 hibernate 提供的吧,建议不要使用,还是靠自己封装一个 BaseEntity 里面加上,在各种 find 方法里 自己实现下排除比较好。
    reid2017
        4
    reid2017  
    OP
       2018-08-17 10:01:32 +08:00
    @letitbesqzr 确实最后还是只能不用这个 Annotation 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1538 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:16 · PVG 01:16 · LAX 10:16 · JFK 13:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.