2014-09-10 2 views
1

Мы знаем, что форматирование вывода SQL может быть включено путем установки атрибута true в файле конфигурации XML при использовании Hibernate. И я хочу знать имя класса или классов, которые использует Hibernate внутри.Что такое класс Hibernate использует внутренне для форматирования вывода SQL?

Это потому, что я работаю над старым проектом, разработчиками жестко закодированных операторов SQL в классы DAO и переполнены очень сложными в несколько строк, что делает их очень трудными для чтения и понимания.

Я могу извлечь исходные SQL-запросы из StringBuffer или структуры конкатенации простой строки, но мне все еще нужно что-то отформатировать для меня. Это может быть низкой точности, но, по крайней мере, может распознавать ключевые слова, как select, from, join, union и т.д.

ответ

0

Интерфейс org.hibernate.jdbc.util.Formatter реализуется с помощью

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

классов (в наименее в версиях с 3.3.0 по 4.3.6).

+0

Я могу подтвердить, что он используется в 4.3.6! BasicFormatterImpl для DML и Query, в то время как DDLFormatterImpl для DML. – Shailendra

+0

@Shailendra: спасибо! Я уточню свой ответ. – davek

+0

@ давек, спасибо! Очень полезно. – Chris

Смежные вопросы