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

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

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