EclipseLink解决方案指南
2.4版
目录
示例列表
标题和版权信息
前言
观众
相关文件
习俗
本指南的新增功能
2.4版的新增和更改功能
本书其他重大变化
1
介绍
关于本指南
你首先需要知道的
用例
2
安装EclipseLink
前提条件
为Java SE和Java EE开发安装EclipseLink
安装EclipseLink NoSQL支持
使用OSGi支持安装EclipseLink
三
在WebLogic服务器上使用EclipseLink
解决方案简介
将EclipseLink用于WebLogic服务器的优点
实施解决方案
任务1:先决条件
任务3:在WebLogic服务器中配置JMX MBean扩展
任务4:使用或重新配置日志集成
日志集成的工作原理
在管理控制台中查看持久性单元日志记录级别
覆盖默认日志集成
配置WebLogic服务器以公开EclipseLink日志记录
其他考虑因素
任务5:使用EclipseLink向Java应用程序添加持久性
任务6:配置数据源
为JPA应用程序配置数据源的方法
配置全局范围的JTA数据源
配置应用程序范围的JTA数据源
在应用程序中配置非JTA数据源并管理事务
确保设置匹配
任务7:扩展域以使用高级Oracle数据库功能
任务8:启动WebLogic Server并部署应用程序
任务9:运行应用程序
任务10:在WebLogic服务器中配置和监视持久性设置
其他资源
4
在GlassFish服务器上使用EclipseLink
解决方案简介
在GlassFish服务器上使用EclipseLink的优点
实施解决方案
任务1:先决条件
任务2:安装GlassFish服务器
任务3:设置数据源
将Oracle数据库的JDBC驱动程序集成到GlassFish服务器
为资源创建JDBC连接池
创建JDBC资源
任务4:创建persistence.xml文件
指定持久性提供程序
指定Oracle数据库
指定日志记录
任务5:为JPA设置GlassFish服务器
任务6:创建应用程序
任务7:将应用程序部署到GlassFish服务器
任务8:运行应用程序
任务9:监控应用程序
其他资源
5
在JBoss 7应用服务器上使用EclipseLink
解决方案简介
实施解决方案
任务1:先决条件
任务2:将EclipseLink配置为JBoss中的模块
任务3:将ojdbc6.jar作为模块添加到JBoss中
任务4:创建驱动程序定义和数据源
任务5:创建用户
任务6:修改JBoss属性
任务7:其他要求
任务8:启动JBoss
其他资源
6
在IBM WebSphere Application Server中使用EclipseLink
解决方案简介
实施解决方案
任务1:先决条件
任务2:配置持久性单元
任务3:配置服务器和应用程序以使用EclipseLink
修改服务器以使EclipseLink全局可用
应用程序EAR中的Package EclipseLink
战争中的包EclipseLink
其他资源
7
从本机TopLink迁移
解决方案简介
实施解决方案
任务1:先决条件
任务2:替换弃用和删除的本机API
替换的API
不推荐的API
已删除API
其他API更改
任务3:重命名包
任务4:转换XML配置文件
会话XML
部署XML
持久性XML
ORM XML
其他资源
8
从Hibernate迁移到EclipseLink
解决方案简介
主要任务
任务1:先决条件
任务1:转换休眠实体注释
转换SelectBeforeUpdate、dynamicInsert和dynamicUpdate属性
转换OptimisticLock属性
任务2:转换休眠自定义序列生成器注释
任务3:转换休眠映射注释
转换@ForeignKey注释
转换@Cache注释
任务4:修改persistence.xml文件
修改的persistence.xml文件
删除和创建数据库表
创建或扩展数据库表
任务5:将Hibernate API转换为EclipseLink API
其他资源
9
使用具有复合持久性单元的多个数据库
解决方案简介
复合持久性单元需求
实施解决方案
任务1:配置复合持久性单元
任务2:使用复合持久性单元
任务3:部署复合持久性单元
其他资源
相关Javadoc
10
扩展集群中的应用程序
解决方案简介
实施解决方案
任务1:配置缓存一致性
禁用实体缓存
刷新缓存
设置实体缓存过期
设置乐观锁定
使用缓存协调
任务2:确保启用EclipseLink
任务3:确保所有应用程序服务器都是集群的一部分
使用数据分区缩放数据
群集数据库和Oracle RAC
其他资源
11
将软件作为服务提供
解决方案简介
12
使JPA实体和JAXB Bean可扩展
使JPA实体可扩展
创建和支持可扩展JPA实体的主要任务
任务1:配置实体
任务2:设计模式
任务3:提供其他映射
任务4:使用元数据源外部化扩展
代码示例
使JAXB Bean可扩展
主要步骤
任务1:配置Bean
任务2:提供其他映射
代码示例
基本设置
定义租户
其他资源
13
使用外部元数据源
解决方案简介
外部使用eclipselink-orm.xml文件
主要任务
任务1:配置持久性单元
任务2:配置服务器
其他资源
14
使用EclipseLink隔离租户
解决方案简介
使用单表多租户
使用单表多租户的主要任务
任务1:先决条件
任务2:启用单表多租户
任务3:指定租户鉴别器列
配置上下文属性和缓存范围
任务4:执行操作和查询
任务5:在继承层次结构中使用单表多租户
使用表-租户-多租户
使用表租户多租户的主要任务
任务1:先决条件
任务2:启用每租户多租户表
任务3:指定租户表鉴别器
任务4:在运行时指定上下文属性
任务5:执行操作和查询
使用虚拟专用数据库多租户
使用虚拟专用数据库多租户的主要任务
任务1:先决条件
任务2:配置虚拟专用数据库
任务3:配置实体或映射超类
任务4:禁用条件生成
任务5:配置persistence.xml
其他资源
15
将JPA映射到XML
解决方案简介
了解XML绑定
了解JAXB
了解MOXy
了解XML数据表示
将JPA实体绑定到XML
将JPA关系绑定到XML
任务1:定义访问器类型和导入类
任务2:绘制私人关系图
任务3:映射共享引用关系
JPA实体
将复合主键绑定到XML
任务1:定义XML访问器类型
任务2:创建目标对象
任务3:创建源对象
将嵌入式ID类绑定到XML
任务1:定义XML访问器类型
任务2:创建目标对象
任务3:创建源对象
任务5:将DescriptorCustomizer实现为PhoneNumberCustomizer类
使用EclipseLink XML绑定文档
将简单Java值映射到XML文本节点
将值映射到属性
从Java对象映射
在OXM元数据格式中定义映射
将值映射到文本节点
将值映射到简单文本节点
将值映射到简单序列中的文本节点
将值映射到子元素中的文本节点
按位置将值映射到文本节点
使用XML元数据表示覆盖JAXB注释
任务1:在XML中定义高级映射
任务2:配置JAXBContext中的用法
任务3:指定MOXy作为JAXB实现
使用XPath谓词进行映射
理解XPath谓词
基于位置的映射
基于属性值的映射
任务1:创建客户实体
任务2:创建地址实体
任务3:创建PhoneNumber实体
“自我”映射
使用动态JAXB/MOXy
任务1:从XML模式引导动态JAXBContext
从XML模式引导
XML模式
处理架构导入/包含
实现和传递EntityResolver
错误处理
指定ClassLoader
任务2:创建动态实体并将其封送到XML
创建动态实体
将动态实体编组为XML
任务3:从XML中取消动态实体的编组
从XML解组DynamicEntities
从动态实体获取数据
使用DynamicType反省动态实体
其他资源
16
在JSON文档中转换对象
解决方案简介
实施解决方案
任务1:编组和解组JSON文档
任务2:指定JSON绑定
任务3:指定JSON数据类型
任务4:支持属性
任务5:不支持根元素
任务5使用命名空间
任务6:使用集合
任务7:映射根级别集合
任务8:换行文本值
其他资源
17
在容器外测试JPA
了解JPA部署
使用EntityManager
配置persistence.xml文件
主要任务
任务1:使用persistence.xml文件
任务2:实例化EntityManagerFactory
使用属性映射
主要任务
任务1:配置persistence.xml文件
任务2:配置引导API
任务3:实例化EntityManagerFactory
使用编织
如何在Java SE环境中禁用或启用编织
如何在Java EE环境中禁用或启用编织
其他资源
相关Javadoc
18
提高绩效
性能特点
对象缓存
缓存批注
使用@Cache注释
正在查询
只读查询
加入获取
批量读取
提取大小
分页
缓存使用率
映射
只读对象
编织
交易
数据库
连接池
参数化SQL和语句缓存
批处理写入
工具
监控和优化启用EclipseLink的应用程序
性能优化建议和提示
任务1:使用EclipseLink探查器测量EclipseLink性能
启用EclipseLink探查器
访问和解释探查器结果
任务2:确定应用程序性能问题的来源
任务3:修改性能不佳的应用程序组件
确定一般性能优化
架构
映射和描述符
隐藏物
数据访问
查询
应用程序服务器和数据库优化
任务4:再次衡量绩效
19
通过RESTful数据服务公开JPA实体
解决方案简介
实施解决方案
步骤1:先决条件
步骤2:创建和配置应用程序
步骤3:了解RESTful数据服务URI基础知识
步骤4:使用JPA、JAXB或JSON表示实体
关系
步骤5:发出客户端对持久性单元的操作调用
在标题中指定媒体格式
关于日志记录
步骤6:实施安全
步骤7:了解RESTful数据服务响应的结构
基本数据类型
链接和关系
其他资源
RESTful Data Services API参考
实体操作
查找
坚持
合并
删除
关系上的实体操作
阅读
添加
删除
查询操作
查询返回结果列表
更新/删除查询
单一结果查询
基本操作
列出现有的持久性单位
元数据操作
列出持久性单元中的类型
在持久性单元中列出查询
描述特定实体
20
使用数据库事件使缓存无效
解决方案简介
实施解决方案
任务1:设置数据库和表
任务2:授予用户权限
任务3:设置类路径
任务4:确定将参与更改通知的类
任务5:添加数据库事件侦听器
任务6:编辑Java文件
设置乐观锁定
从更改通知中排除类(可选)
跟踪辅助表中的更改(可选)
解决方案的局限性
其他资源
21
对NoSQL数据库使用EclipseLink
解决方案简介
实施解决方案
任务1:先决条件
任务2:映射数据
任务3:定义ID
任务4:定义映射
任务5:使用锁定
任务6:定义查询
JPQL查询
本机查询
任务7:连接到数据库
其他资源
22
对Oracle数据库使用EclipseLink
解决方案简介
实施解决方案
使用Oracle平台特定的API
在EclipseLink中使用Oracle PL/SQL
执行Oracle PL/SQL存储函数
处理Oracle存储过程的PL/SQL参数
使用Oracle虚拟专用数据库
使用Oracle代理身份验证
主要任务:
缓存和安全
使用Oracle虚拟专用数据库实现行级安全
在Oracle RAC中使用EclipseLink
从Java EE应用程序访问RAC-Enabled数据库
从独立应用程序访问启用RAC的数据库
使用Oracle Spatial和Graph
其他资源
Eclipse基金会版权所有©20122013
Eclipse公共许可证(EPL)