Java 持久性/TopLink
TopLink 是领先的 Java 持久性产品和 JPA 实现之一。TopLink 由 Oracle 生产,是 Oracle 的 OracleAS、WebLogic 和 OC4J 服务器的一部分。
从 TopLink 11g 开始,TopLink 将开源项目 EclipseLink 捆绑到其大部分功能中。
TopLink 11g 版本支持 JPA 1.0 规范。TopLink 10.1.3 也支持 EJB CMP,并且是 OracleAS OC4J 10.1.3 的持久性提供程序,适用于 JPA 和 EJB CMP。TopLink 提供超出 JPA 规范的高级对象关系映射功能,以及为对象关系数据类型和企业信息系统 (EIS/大型机) 提供持久性。TopLink 包括复杂的缓存和性能特性。TopLink 提供与 Oracle Coherence 集成的网格扩展。TopLink 提供对象-XML 映射支持,并提供 JAXB 实现和 Web 服务集成。TopLink 提供了一个服务数据对象 (SDO) 实现。
TopLink 通过 TopLink 映射工作台提供丰富的用户界面。映射工作台允许以图形方式将对象模型映射到数据模型,并允许从对象模型生成数据模型,从数据模型生成对象模型,以及自动映射现有对象和数据模型。TopLink 映射工作台功能也集成到 Oracle 的 JDeveloper IDE 中。
TopLink 将其部分源代码贡献给 Sun java.net Glassfish 项目,成为 JPA 1.0 参考实现。这个开源产品被称为 TopLink Essentials,尽管包名称不同 (oracle.toplink.essentials),但它基本上是 TopLink 产品源代码的一个分支,删除了一些高级功能。
TopLink 将几乎所有源代码贡献给了 Eclipse Foundation EclipseLink 产品。这是一个当前处于孵化阶段的开源产品,代表了 TopLink 的发展方向。包名称不同 (org.eclipse.persistence),但源代码基本上是 TopLink 11g 版本的一个分支。Oracle 还将其映射工作台源代码贡献给了该项目。TopLink 映射工作台开发人员也是 Eclipse Dali 项目 JPA 支持的主要贡献者。
TopLink 最初是在 Smalltalk 中开发的,并于 90 年代移植到 Java,拥有超过 15 年的对象持久性解决方案。TopLink 最初提供了一个专有的 POJO 持久性 API,当 EJB 首次发布时,TopLink 提供了最受欢迎的 EJB CMP 实现之一,尽管它继续推荐其 POJO 解决方案。TopLink 还为几个版本提供了 JDO 1.0 实现,但最终在形成 JPA 规范后被弃用并删除。Oracle 和 TopLink 参与了每个 EJB、JDO 和 EJB3/JPA 专家组,并且 Oracle 是 EJB3/JPA 规范的联合领导者。