首页 > 解决方案 > 如果我使用 Hibernate 3.3 和 spring-orm 即 spring-hibernate 引导,我如何迁移到 Oracle 12c?

问题描述

我们想将数据库从 Sybase 更改为 Oracle 12c 12.2.0.1。

我们目前正在使用 Hibernate 3.3 和 Spring 4.3.22,我们使用 spring hibernate 引导模式连接到数据库,即getHibernateTemplate()有近 150 次出现。

将 Hibernate 属性和驱动程序更改为 ojdbc8-12.2.0.1_RHAS64 后,我们发现 hibernate 3.3 没有org.hibernate.dialect.Oracle12cDialect为 Oracle 12c 提供方言 [ ],这是在 Hibernate 5.XX 版本中提供的。

我们LocalSessionFactoryBean在 XML 中作为 spring orm 的一部分使用,appCtxDaos.xml因此在升级到 5.3 后,我们将 bean 类引用更改为XX.XX.hibernate5.localSessionFactoryBean从中XX.hibernate3.localSessionFactoryBean为应用程序设置休眠配置 [Point#1]。

迁移到 hibernate 5.3 后,当我们检查替代方案时getHibernateTemplate(),Hibernate 社区建议使用简单的 Hibernate 编码样式 ( hibernate.cfg.xml)。

我们添加了为应用程序[Point#2]HibernateUtil.java设置休眠配置的类。

继续前进,我将不得不删除 Point#1 spring-orm Hibernate 配置,但在我们的应用程序中有 7-8 个 xml 文件,它们定义了应用程序流程并具有会话工厂、数据源等的级联 bean 依赖项

在哪里可以实现使用点#2的数据库连接,但删除点#1和所有依赖项是一个挑战。

请建议应该采取什么方法来进一步减少现有应用程序的最小更改..

对这个问题的任何贡献都非常感谢!

标签: javaspringhibernateoracle12cspring-orm

解决方案


推荐阅读