跳转到内容

Java 持久化/Oracle

来自维基教科书,开放书籍,构建开放世界

The Oracle 数据库是最受欢迎且最强大的商业数据库之一。

Oracle 是一种商业授权数据库,但可以免费下载并在 OTN 许可下用于开发或测试。

Oracle 支持所有 JPA 功能,除了 IDENTITY Id 生成。它支持 SEQUENCE Id 生成,这通常建议使用,因为它允许预分配并且比 IDENTITY 更优化。可以通过使用数据库触发器来模拟 IDENTITY Id 生成。

Oracle 数据库的一些功能总结如下:

  • 客户端/服务器数据库
  • 多平台 (Windows, Linux, Solaris, HP-UX, AIX, 其他)
  • 多语言客户端支持 (Java, C, ODBC, C#, PHP, 其他)
  • JDBC thin 和类型 2 OCI 驱动程序
  • 存储过程
  • 触发器、视图
  • Java 存储过程
  • PL/SQL 语言
  • 消息、队列、AQ
  • 表分区
  • 数据库集群,RAC
  • Lobs
  • XDB,XML 支持
  • 面向对象关系数据类型,对象类型,Varrys,嵌套表


大多数应用程序服务器和 JPA 提供商提供针对 Oracle 的特定支持,并支持大多数 JPA 功能以及超出 Oracle 上 JPA 规范的功能。

TopLink / EclipseLink : 对 Oracle 数据库提供了扩展支持,请参阅 常见问题解答。EclipseLink 会自动检测 Oracle 数据库平台,因此不需要持久化属性,但可以使用 "eclipselink.target-database"="Oracle" 设置。EclipseLink 还提供对 Oracle JDBC 驱动程序扩展的扩展支持,可以通过将 "eclipselink.target-database" 设置为 "Oracle8", "Oracle9", "Oracle10", "Oracle11" 之一来启用。
EclipseLink 对 Oracle 数据库的扩展支持包括
  • LOB's
  • NChar's
  • XMLType's
  • TIMESTAMP (TZ, LTZ)'s
  • 原生批处理写入
  • 分页
  • 结构化面向对象关系数据类型
  • PLSQL 数据类型和存储过程
  • VPD,代理身份验证
  • RAC
  • XDK XML 解析器
  • 分层选择(按优先级选择)
  • 返回值子句
  • 闪回历史记录和查询
  • 存储过程,输出参数和输出游标
  • 存储函数
  • Oracle AQ
Hibernate : 要将 Oracle 设置为目标方言,可以使用持久化属性 "hibernate.dialect" 设置为 "org.hibernate.dialect.Oracle9Dialect"
华夏公益教科书