java - 如果我使用 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和所有依赖项是一个挑战。
请建议应该采取什么方法来进一步减少现有应用程序的最小更改..
对这个问题的任何贡献都非常感谢!
解决方案
推荐阅读
- swift - 如何向具有圆角的 UIView 添加阴影
- ios - 如何加快 tvOS 中的 UICollectionView 单元格渲染
- python - AttributeError:“经理”对象没有属性
- javascript - 如何仅在 Ext JS 6 中构建具有模型、视图、存储的基本网格面板?
- php - 将产品添加到购物车并用户刷新页面后,如何显示添加到购物车中的数据
- c# - 从 gmail 发送带有附件的 Net.Mail 时出错
- python - Librosa Keras 音乐分析神经网络 Python:输入值错误
- ios - 滚动前未加载 Collectionviewcell 图像
- hibernate - 在通过 Thymeleaf 进行实体编辑期间重新生成 ID 的问题
- html - 导航栏中的 Bootstrap 4 分隔符