将 Hibernate3 迁移到 Hibernate5,Formatter 类

Posted

技术标签:

【中文标题】将 Hibernate3 迁移到 Hibernate5,Formatter 类【英文标题】:Migrating Hibernate3 to Hibernate5, Formatter class 【发布时间】:2021-12-23 23:40:03 【问题描述】:

如何编辑这段与 hibernate 3 一起使用的代码,以对应 hibernate 5.6.1 版本。

我看到 Formatter 现在是一个只有一个方法的接口。

【问题讨论】:

【参考方案1】:

对于“基本SQL语句(DML +查询)”,请“尝试”:

Formatter formatter = new org.hibernate.engine.jdbc.internal.BasicFormatterImpl();
formatter.format(query);

BasicFormatterImpl javadoc

对于“DDL SQL 语句”,请:

Formatter formatter = org.hibernate.engine.jdbc.internal.DDLFormatterImpl.INSTANCE;
formatter.format(query);

DDLFormatterImpl javadoc

对于“indent-/initialString”,请考虑自定义实现,您可以基于((/参见源代码)提到的:

BasicFormatterImpl(main branch) DDLFormatterImpl(main branch)

【讨论】:

以上是关于将 Hibernate3 迁移到 Hibernate5,Formatter 类的主要内容,如果未能解决你的问题,请参考以下文章

从 Migrate 迁移到 Spring MVC 4 + Hibernate5

Spring 4.1.6 和 Hibernate 3.2.2?

JBoss 5.1:使用 JPA 休眠

Hibernate 3.3.0 与 Oracle 12c 的兼容性

HikariCP 线程没有被释放 - 如何排除故障?

Hibernat 原生SQL运行结果集处理方法