• 请不要在回答技术问题时复制粘贴 AI 生成的内容
reid2017
V2EX  ›  程序员

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

  •  
  •   reid2017 · Aug 16, 2018 · 2656 views
    This topic created in 3008 days ago, the information mentioned may be changed or developed.
    @Where(clause = "deleted = false")
    public class User{
    
        private Long id;
        private String userName;
        private Boolean deleted = false;
    
    }
    

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

    4 replies  •  2018-08-17 10:01:32 +08:00
    undeflife
    undeflife
    Aug 16, 2018
    1
    用 NamedQuery?
    q397064399
    q397064399
    Aug 16, 2018
    2
    findAllByDeleted(false)
    letitbesqzr
    letitbesqzr
    Aug 16, 2018
    3
    @Where 这个 Annotation 是 hibernate 提供的吧,建议不要使用,还是靠自己封装一个 BaseEntity 里面加上,在各种 find 方法里 自己实现下排除比较好。
    reid2017
    reid2017
    OP
    Aug 17, 2018
    4
    @letitbesqzr 确实最后还是只能不用这个 Annotation 了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4167 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 09:11 · PVG 17:11 · LAX 01:11 · JFK 04:11
    ♥ Do have faith in what you're doing.