提问者:小点点

在Spring引导中过滤数据


我在我的应用程序中使用spring boot和spring repository接口(带有抽象方法和查询注释)来检索数据。出于应用程序的目的,我们在一个db中为多个租户使用相同的模式。当从数据库中检索数据时,我需要在criteria中追加租户id。我不能在所有查询中手动这样做,因为从长远来看这是一种痛苦。

示例存储库:

public interface MyRepository extends JpaRepository<User, Long>{
     // Methods come here
}

我还需要过滤默认findOne、findAll等方法返回的数据。

PS:我开始了解Hibernate过滤器,但不确定如何在Spring将Hibernate过滤器配置为Spring完全抽象的Hibernate会话。


共1个答案

匿名用户

只需将要查找的属性放在findBy之后,例如:

@Repository
public interface MyRepository extends JpaRepository<User, Long>{

    List<Object> findById(String id);
}

然后只需从您的服务或控制器调用它并传递ID;

final MyRepository myRepository;

myRepository.findById('1556');

根据您的身份证件类型,进行正确的转换