如何使用 Hibernate 为 Spring data JPA 的所有查找方法添加全局 where 子句?

我们正在开发使用带有休眠功能的 Spring data JPA 的 Web 应用程序.

We are working on web application using Spring data JPA with hibernate.

在应用程序中,每个实体都有一个compid字段.这意味着在每个 DB 调用(Spring Data 方法)中都必须使用 compid 检查.

In the application there is a field of compid in each entity. Which means in every DB call (Spring Data methods) will have to be checked with the compid.

我需要一种方法,即where compid = ?"检查是否为每个查找方法自动注入.这样我们就不必专门为 compid 检查而烦恼.

I need a way that, this "where compid = ?" check to be injected automatically for every find method. So that we won't have to specifically bother about compid checks.

这可以通过 Spring Data JPA 框架实现吗?

Is this possible to achieve from Spring Data JPA framework?

推荐答案

也许 Hibernate 的注解 @Where 会对你有所帮助.它将传递的条件添加到与实体相关的任何 JPA 查询中.例如

Maybe Hibernate‘s annotation @Where will help you. It adds the passed condition to any JPA queries related to the entity. For example

@Entity
@Where(clause = "isDeleted='false'")
public class Customer {
    //...
    @Column
    private Boolean isDeleted;
}

更多信息:1,2

相关文章