为 Oracle12c 使用 Hibernate Oracle10g 方言

Using Hibernate Oracle10g dialect for Oracle12c

Hibernate 版本 4.3.0 不支持 Oracle 12c 方言。 Oracle 10g 方言适用于 12c,但这样做有缺点吗?。使用不匹配的方言和数据库版本会影响性能吗?SQL 的质量如何?

您可以随意获取 Oracle12cDialect 的源代码并将其添加到您的应用程序源代码中,并进行任何修改以使其与 Hibernate 4.3 兼容。您需要做的就是手动添加 hibernate.dialect 属性 并指定自定义 Oracle 12 方言的名称 class.

Hibernate 5.2 中的 Oracle12cDialect 与 10g 有以下区别:

  • 考虑到 Oracle 已弃用对 LONGVARBINARY 的支持,而更喜欢 BLOB
  • 它使用符合 SQL2008 的限制处理程序实现 where-as 10g 没有。
  • 推荐原生标识符生成为sequence
  • 指定自己的身份支持算法。