quarkus orm hibernate 针对所有对象查询增加一个固定条件完整demo
时间: 2024-01-20 14:03:31 浏览: 31
好的,针对所有对象查询增加一个固定条件,可以使用 Hibernate 的过滤器(Filter)来实现。下面是一个完整的 Demo。
首先,在实体类上添加过滤器注解:
```java
@Entity
@Table(name = "user")
@FilterDef(name = "statusFilter", parameters = @ParamDef(name = "status", type = "string"))
public class User {
...
}
```
然后,在 Hibernate 的配置文件中配置该过滤器:
```xml
<hibernate-configuration>
...
<session-factory>
...
<filter-def name="statusFilter">
<filter-param name="status" type="string"/>
</filter-def>
...
</session-factory>
...
</hibernate-configuration>
```
现在,我们可以在查询时启用过滤器,并传递参数:
```java
Session session = sessionFactory.openSession();
Filter filter = session.enableFilter("statusFilter");
filter.setParameter("status", "active");
List<User> users = session.createQuery("from User", User.class).list();
session.disableFilter("statusFilter");
session.close();
```
这样,查询结果将会加上一个固定条件,即状态为 active 的用户。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)