распечатать строку запроса Hibernate SQL с параметрами в журналах - PullRequest
1 голос
/ 11 октября 2010

В моем hibernate config свойство show_sql имеет значение 'true', и, поскольку я не использую log4j API ведения журнала, по умолчанию hibernate отображал запросы с '?' отметки на консоли Tomcat.

В моем случае мне нужно напечатать полный запрос sql со значениями параметров, который был выполнен hibernate, в журналы, но я не использую log4j API для ведения журнала, чтобы настроить уровень отладки для org.hibernate.SQL и org.hibernate.type.

Для ведения журнала мы вручную записываем содержимое в файл, поэтому в этой ситуации кто-нибудь может сказать мне, как я могу получить запросы гибернации в журналы.

Ответы [ 2 ]

0 голосов
/ 10 октября 2016

Как вы просили "Распечатать SQL-запрос со значениями параметров, которые были выполнены hibernate в журналах"

вы можете установить следующие параметры в файле log4j.properties

#following parameters will be used to log the sql parameters
log4j.logger.org.hibernate.SQL=debug
log4j.logger.org.hibernate.type.descriptor.sql=trace

Будет напечатан запрос вместе с параметрами sql и типом данных.

Hibernate: insert into employee (employee_address, employee_name, id) values (?, ?, ?)
11:50:40, 209 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [1] as [VARCHAR] - [Address 0]
11:50:40, 209 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [2] as [VARCHAR] - [Employee 0]
11:50:40, 209 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] - binding parameter [3] as [BIGINT] - [7008]
11:50:40, 210 DEBUG [org.hibernate.SQL] - insert into employee (employee_address, employee_name, id) values (?, ?, ?)

Пожалуйста, посетите этот пост для более подробной информации о коде: - http://techpost360.blogspot.in/2016/10/hibernate-show-sql-with-parameter-values.html

0 голосов
/ 11 октября 2010

В моем случае мне нужно напечатать полный запрос sql со значениями параметров, который был выполнен hibernate, в журналы, но я не использую log4j API для ведения журнала, чтобы настроить уровень отладки для org.hibernate.SQL и org.hibernate.type

Независимо от того, используете ли вы каркас журналирования или нет, Hibernate будет выводить вопросительные знаки при регистрации готовых операторов.

Если вы хотите напечатать «реальный запрос» со связанными значениямивам придется использовать драйвер JDBC Proxy, например P6Spy (больше не двигается) или log4jdbc .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...