Spring Data Jpa使用Filter过滤数据

本文介绍了如何在Spring Boot和Spring Data JPA项目中利用Hibernate的Filter功能进行数据过滤。针对场景例如根据用户权限过滤旅馆信息,如杭州用户仅查看3301开头的数据。通过在Entity上使用@Filter注解,Hibernate会在查询时添加where子句。然而,Filter不适用于动态条件或懒加载,并且直接按主键查询时过滤器不会生效。
摘要由CSDN通过智能技术生成
场景

需要根据当前用户的权限过滤需要显示的数据。
比如有一张旅馆表,主键为hotel_code,该值的构成为6位行政区划+4位流水号。杭州用户只能看到3301开头的旅馆信息,而3302开头的只能看到宁波的旅馆信息。
如:

hotel_code hotel_name
3301888999 杭州测试旅馆
3302888999 宁波测试旅馆
3303888999 温州测试旅馆
3304888999 嘉兴测试旅馆

用户表中有个filter_code字段,过滤匹配start_with的数据。如fitler_code=33,则匹配显示整个浙江省的数据;filter_code=3301则显示杭州市的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值