JPA规范实现 Apache OpenJPA
<div id="p_fullcontent" class="detail"> <p><a href="/misc/goto?guid=4959518025514763839"><img border="0" alt="JPA规范实现 Apache OpenJPA" src="https://simg.open-open.com/show/5b4a3670e29d4701e254c158867d48cb.png" width="313" height="101" /></a> <br /> OpenJPA 是 Apache 组织提供的开源项目,它实现了 EJB 3.0 中的 JPA 标准,为开发者提供功能强大、使用简单的持久化数据管理框架。OpenJPA 封装了和关系型数据库交互的操作,让开发者把注意力集中在编写业务逻辑上。OpenJPA 可以作为独立的持久层框架发挥作用,也可以轻松的与其它 Java EE 应用框架或者符合 EJB 3.0 标准的容器集成。</p> <p>除了对 JPA 标准的支持之外,OpenJPA 还提供了非常多的特性和工具支持让企业应用开发变得更加简单,减少开发者的工作量,包括允许数据远程传输/离线处理、数据库/对象视图统一工具、使用缓存(Cache)提升企业应用效率等。</p> <p><a name="N102FD"><span class="smalltitle">数据远程传输 / 离线处理</span></a></p> <p>JPA 标准规定的运行环境是 "本地" 和 "在线" 的。本地是指 JPA 应用中的 <code>EntityManager</code> 必须直接连接到指定的数据库,而且必须和使用它的代码在同一个 JVM 中。在线是指所有针对实体的操作必须在一个 <code>EntityManager</code> 范围中运行。这两个特征,加上 <code>EntityManager</code> 是非序列化的,无法在网络上传输,导致 JPA 应用无法适用于企业应用中的 C/S 实现模式。OpenJPA 扩展了这部分接口,支持数据的远程传输和离线处理。</p> <p><a name="N10311"><span class="smalltitle">数据库 / 对象视图统一工具</span></a></p> <p>使 用 OpenJPA 开发企业应用时,保持数据库和对象视图的一致性是非常重要的工作,OpenJPA 支持三种模式处理数据库和对象视图的一致性:正向映射(Forward Mapping)、反向映射(Reverse Mapping)、中间匹配(Meet-in-the-Middle Mapping),并且为它们提供了相应的工具支持。</p> <ul> <li><strong>正向映射</strong> 是指使用 OpenJPA 框架中提供的 <code>org.apache.openjpa.jdbc.meta.MappingTool</code> 工具从开发者提供的实体以及在实体中提供的对象 / 关系映射注释生成相应的数据库表。</li> <li><strong>反向映射</strong> 是指 OpenJPA 框架中提供的 <code>org.apache.openjpa.jdbc.meta.ReverseMappingTool</code> 工具从数据库表生成符合 JPA 标准要求的实体以及相应的对象 / 关系映射注释内容。</li> <li><strong>中间匹配</strong> 是指开发者负责创建数据库表、符合 JPA 标准的实体和相应的对象 / 关系映射注释内容,使用 OpenJPA 框架中提供的 <code>org.apache.openjpa.jdbc.meta.MappingTool</code> 工具校验二者的一致性。</li> </ul> <p><a name="N10346"><span class="smalltitle">使用缓存提升效率</span></a></p> <p>性能是企业应用重点关注的内容之一,缓存是提升企业系统性能的重要手段之一。OpenJPA 针对数据持久化提供多种层次、多方面的缓存支持,包括数据、查询、汇编查询的缓存等。这些缓存的应用可以大幅度的提高企业应用的运行效率。<br /> <br /> </p> <p><strong>项目主页:</strong><a href="http://www.open-open.com/lib/view/home/1328449014406" target="_blank">http://www.open-open.com/lib/view/home/1328449014406</a></p> </div>
本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
转载本站原创文章,请注明出处,并保留原始链接、图片水印。
本站是一个以用户分享为主的开源技术平台,欢迎各类分享!