How to add global where clause for all find methods of Spring data JPA with Hibernate?(如何使用 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
这篇关于如何使用 Hibernate 为 Spring data JPA 的所有查找方法添加全局 where 子句?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使用 Hibernate 为 Spring data JPA 的所有查找方法添加全局 where 子句?


- C++ 和 Java 进程之间的共享内存 2022-01-01
- Eclipse 插件更新错误日志在哪里? 2022-01-01
- value & 是什么意思?0xff 在 Java 中做什么? 2022-01-01
- 如何使用WebFilter实现授权头检查 2022-01-01
- Jersey REST 客户端:发布多部分数据 2022-01-01
- 从 finally 块返回时 Java 的奇怪行为 2022-01-01
- Spring Boot连接到使用仲裁器运行的MongoDB副本集 2022-01-01
- 将log4j 1.2配置转换为log4j 2配置 2022-01-01
- Java包名称中单词分隔符的约定是什么? 2022-01-01
- Safepoint+stats 日志,输出 JDK12 中没有 vmop 操作 2022-01-01