用 Slice 扩展 OpenJPA 应用程序
2010-10-09 08:13:28 来源:WEB开发网核心提示: 创建新实例通过实例的主 ID 找到实例通过基于字符串或动态构建的查询选择实例划分事务边界一个持久上下文管理这些实例,应用程序对持久状态的任何变化均由 JPA 提供者监视,用 Slice 扩展 OpenJPA 应用程序(2),在事务完成或上下文清仓时,会自动更新有关的数据库记录,正式来讲,对数据集
创建新实例
通过实例的主 ID 找到实例
通过基于字符串或动态构建的查询选择实例
划分事务边界
一个持久上下文管理这些实例,应用程序对持久状态的任何变化均由 JPA 提供者监视。在事务完成或上下文清仓时,会自动更新有关的数据库记录。
总之,JPA 所倡导的是一种应用程序编程模型,其中持久性操作和查询涉及 Java 对象模型,而提供者负责将对象模型映射到数据库模式:一个 Java 类转变成一个或多个数据库表,Java 类型的持久性属性转变为数据库列、关系变成外键等;并且,持久性操作也变成了 SQL 语句:Java 的 new() 操作符映射为一个或多个 INSERT,find() 映射为 SELECT,持久实例的 setter 方法变为数据库的一个 UPDATE 语句。
slice 与 Slice
在本文中,您将看到小写的 slice 以及作为专有名词的 Slice。我们将使用 slice(小写)代表数据库子集,用 Slice(专有名词)表示这个运行时 OpenJPA 模块。
核心的 JPA 规范是基于这样一个隐式且严格的假设,即持久对象和操作被映射到一个关系数据库。每个持久单元均连接到一个单一数据库,并且管里的持久性对象状态也存储到同一个数据库。Slice 完全打破了单一数据库的这个假设。Slice 允许相同的 JPA 应用程序的执行,而同时底层的数据存储环境也已经从一个超大型的数据库变成了一组被水平分区的数据库。存储了整个数据集的子集的这些物理数据库被称为是分区、碎片或片。
正式来讲,对数据集 D 的 P(D) 进行水平 分区 或划分就是将 D 分解成相互不相交的 N 个集 Di 且:
D = D1 ∪ D2 ∪ ⋯ ∪ Dn,当 i ≠ j时,Di ∩ Dn = ∅
- ››扩展Axis2框架,支持基于JVM的脚本语言
- ››扩展WebSphere Portal V6个性化功能
- ››扩展JavaScript的时候,千万要保留其原来的所有功...
- ››扩展数据:如何为 Model 750 服务器选择 I/O 扩展...
- ››扩展 JDT 实现自动代码注释与格式化
- ››扩展 secldap 的功能以验证多个数据源
- ››扩展 JUnit4 以促进测试驱动开发
- ››扩展 JUnit 测试并行程序
- ››扩展的ToolStripEx控件
- ››扩展 Eclipse 的 Java 开发工具
- ››扩展 Eclipse 辅助和规范开发流程
- ››扩展方法 DataTable 和List 相互转换
更多精彩
赞助商链接