【问题标题】:Enforce a criteria on all Spring Repository find* methods对所有 Spring Repository find* 方法强制执行标准
【发布时间】:2013-09-10 10:02:10
【问题描述】:

有没有办法对 JpaRepository 生成的所有查询应用默认过滤器/谓词,以自动限制结果。例如,如果我实现了一个软删除标志,我想从所有进一步的选择中自动排除这些结果。

Hibernate 是下面的 JPA 实现,如果有帮助的话。

【问题讨论】:

    标签: hibernate spring-data-jpa


    【解决方案1】:

    您可以创建自己的存储库来扩展 SimpleJpaRepository。然后实现 RepositoryFactoryBean 和 RepositoryFactory ,它们将返回包含您的实现的存储库。对于 JPA,您可以基于 https://github.com/jkubrynski/spring-data-examples/tree/master/src/main/java/com/kubrynski/data/repository/generic 下的示例

    记住通过指定repositoryFactoryBeanClass 在@EnableJpaRepositories 中启用你的factorybean。

    【讨论】:

      【解决方案2】:

      请参阅here,那里有您问题的答案(基本上使用@Where 注释)。您也可以使用休眠过滤器,但我上面链接的答案绰绰有余。

      即使您的问题很老,我也写在这里以供将来参考。

      【讨论】:

        猜你喜欢
        • 2018-05-19
        • 1970-01-01
        • 2013-03-13
        • 2010-10-05
        • 1970-01-01
        • 1970-01-01
        • 2012-02-11
        • 1970-01-01
        • 2018-11-29
        相关资源
        最近更新 更多