java - Hibernate 在内部使用什么类来格式化 SQL 输出?

标签 java sql hibernate

我们知道,在使用 Hibernate 时,可以通过在 XML 配置文件中将属性设置为 true 来启用 SQL 输出格式。我想知道 Hibernate 内部使用的一个或多个类的名称。

因为我在做一个老项目,开发人员将SQL语句硬编码到DAO类中,并将非常复杂的语句塞进几行代码中,这使得它们很难阅读和理解。

我可以从 StringBuffer 或纯字符串连接结构中提取原始 SQL,但我仍然需要一些东西来格式化它们。它的准确率可能较低,但至少可以识别诸如 select、from、join、union 等关键字。

最佳答案

接口(interface)org.hibernate.jdbc.util.Formatter由类实现

  • org.hibernate.jdbc.util.BasicFormatterImpl
  • org.hibernate.jdbc.util.DDLFormatterImpl

(至少在版本 3.3.0 到 4.3.6 中)。

关于java - Hibernate 在内部使用什么类来格式化 SQL 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25767495/

相关文章:

mysql - 笛卡尔积 - 对同一张表中的两列求和

将 varchar 值转换为数据类型 int 时,SQL Select Case Conversion 失败。

java - 如何在Spring中使用接口(interface)的动态实现?

java - 为什么 Java 泛型不支持原始类型?

JAVA时间动画

java - 回文中的for循环

sql - Rails Postgres hstore 或 jsonb 存储多对多关系

hibernate 标准 API : Joining tables with custom join

java - 为什么 Maven 不打包我的 hibernate 映射文件?

java - NoSuchMethodError : org. hibernate.SessionFactory.openSession()