EclipseLink 是 Eclipse 基金会管理下的开源持久层服务项目,为 Java 开发人员与各种数据服务(比如:数据库、web services、对象XML映射(OXM)、企业信息系统(EIS)等)交互提供了一个可扩展框架.
EclipseLink 前身是 Oracle TopLink, 2007年 Oracle 将后者绝大部分捐献给了 Eclipse 基金会,次年 EclipseLink 被 Sun 挑选成为 JPA 2.0 的参考实现。
EclipseLink 目前支持的持久层标准中包括:
在完整实现 JPA 标准之外,针对 SaaS 环境,在多租户的隔离方面 EclipseLink 提供了很好的支持以及灵活地解决方案。
应用程序隔离
##实现方案
对于多租户数据源隔离主要有以下方案:
(1)Single-Table Multi-tenancy,依靠租户区分列(tenant discriminator columns)来隔离表的行,实现多租户共享表。
(2)Table-Per-Tenant Multi-tenancy,依靠表的租户区分(table tenant
discriminator)来隔离表,实现一租户一个表,大体类似于上文的共享数据库独立Schema模式。
(3)Virtual Private Database(VPD ) Multi-tenancy,依靠 Oracle VPD
自身的安全访问策略(基于动态SQL where子句特性),实现多租户共享表。
关于具体的EclipseLink实现多租户请看小编的后续博客。
技术点的研究和应用不是一蹴而就的,要有耐性。
感谢您的阅读~~