基于DISCRIMINATOR的多租户与Spring Data JPA + Hibernate

Ket*_*tan 8 hibernate multi-tenant discriminator spring-data-jpa

我想为基于共享模式的多租户模型实现基于DISCRIMINATOR的多租户解决方案-所有租户的公共数据库模式.

技术堆栈

  • Hibernate 3全局过滤器(我不能使用EclipseLink)
  • Spring Data JPA - 我想要这个,因为我们已经使用了这个,我们无法改变它.

我的问题是

  • 如何实现这一点:Spring Data JPA对GLOBAL过滤器没有任何支持,所以我需要添加自定义Spring Data JPA存储库,然后可以为基于DISCRIMINATOR的解决方案应用全局过滤器?
  • 完全可以用Spring Data JPA + Hibernate 3实现我的需求吗?

Hak*_*ata 2

使用休眠过滤器,您可以在我们的应用程序中实现以下项目,

  1. 多租户,
  2. 授权
  3. 验证
  4. 行级授权

在我们的应用程序中,我们应用了这一点并取得了很好的结果,并将相同的内容应用到其他基于网络的产品中。供您参考,请浏览以下链接,您将对上述内容有所了解。 http://www.jroller.com/RickHigh/entry/using_spring_aop_and_hibernate

  • 该链接已失效,但还有另一组博客文章对此进行了详细介绍,称为 **微服务的优雅多租户**:[第一部分:为什么要麻烦?](https://medium.com/@Integral_io /elegant-multi-tenancy-for-microservices-part-i-why-bother-a88234f9d293) [第二部分:解决方案](https://medium.com/@Integral_io/elegant-multi-tenancy-for-microservices-part -ii-solutioning-d0d9b6cd6f0f) [第三部分:实施和支持基础设施](https://medium.com/@Integral_io/elegant-multi-tenancy-for-microservices-part-iii-implementation-supporting-infrastruct-64b74093615) (4认同)