hibernate - 对所有 Spring Repository find* 方法强制执行标准

标签 hibernate spring-data-jpa

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

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

最佳答案

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

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

关于hibernate - 对所有 Spring Repository find* 方法强制执行标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18655475/

相关文章:

java - 如何使用 Spring 安全性和 Restful Web 服务验证数据库中的凭据?

spring-data-jpa - 带有 JPA 锁的 Spring 处理时间长

java - 在哪些情况下,JpaRepository 会自动创建查询,而无需使用 @Query 注释

java - Hibernate 中的动态表名

java - hibernate 唯一约束

java - HQL 查询集合中的列

java - 根据外键值选择结果

java - Hibernate:session.get(EntityName.class, Id) 和使用 Criteria 之间的区别

java - 为什么查询时参数是String,String也会转成Long

java - 使用自己的数据库配置 Spring Cloud 数据流任务