我有一个使用 Hibernate 和 DB2 的现有 Java 应用程序。我的应用程序在 DB2 中有 40-45 个表。
我们计划用 SAP-HANA 替换 DB2。在这种情况下,我想知道您对以下项目的意见:
HANA 是否支持 Hibernate?如果是,它对于中型 Java 应用程序有多稳定?
在移民中应该考虑哪些障碍/风险?
任何文档或示例供参考?
请提供您的建议。
是的,它受支持。从 4.3.0.CR1 版本(当前稳定版为 4.3.5)开始提供 HANA 的 Hibernate 方言。根据我个人的经验,Hibernate 和方言本身是稳定的,但是在迁移过程中您可能会遇到问题,因为 HANA 不支持某些功能,而不是 Hibernate。例如,不支持自动增量,您应该使用序列来代替。请参阅优化 Hibernate 序列 ID 生成。
除了缺乏自动增量等 HANA 细节之外,在使用 Hibernate 时,您可能会遇到插入 HANA 速度低的并发症。但是,可以通过调整persistance.xml 中的批量大小来提高速度,例如
<property name="hibernate.jdbc.batch_size" value="5000"/>
文档可在此处获得:http: //help.sap.com/hana_platform
作为一般通知,我会说 SAP HANA 在过去一两年内变得更加稳定。但是,我仍然会在另一个数据库中拥有数据副本或备份,并且主要将 HANA 用于非常快速的分析和查询,这确实是 HANA 的一个非常强大的方面。
迁移过程取决于每个特定情况。这可能很痛苦,也可能很容易。一般来说,我认为几乎总是可以找到任何迁移问题的解决方法。