Hibernateには、生成されたすべてのSQL文をコンソールに記録する機能を組み込む機能があります。これを有効にするには、Hibernate設定ファイル “` hibernate.cfg.xml`に ”
show__sql
“プロパティを追加します。この関数は、基本的なトラブルシューティングや、Hibernateの背後にあることを確認するのに適しています。
1. show__sql
生成されたすべてのSQL文をコンソールに記録できるようにする
<!--hibernate.cfg.xml --> <property name="show__sql">true</property>
出力
Hibernate: insert into mkyong.stock__transaction (CHANGE, CLOSE, DATE, OPEN, STOCK__ID, VOLUME) values (?, ?, ?, ?, ?, ?)
2. format__sql
生成されたSQL文をより読みやすくするためにフォーマットしますが、より多くの画面領域を占有します。 🙂
<!--hibernate.cfg.xml --> <property name="format__sql">true</property>
出力
Hibernate:
insert
into
mkyong.stock__transaction
(CHANGE, CLOSE, DATE, OPEN, STOCK__ID, VOLUME)
values
(?, ?, ?, ?, ?, ?)
3. use
sql
comments
Hibernateは生成されたすべてのSQL文の中にコメントを入れて、生成しようとしているSQL
<!--hibernate.cfg.xml --> <property name="use__sql__comments">true</property>
出力
Hibernate:
/** insert com.mkyong.common.StockTransaction
** /insert
into
mkyong.stock__transaction
(CHANGE, CLOSE, DATE, OPEN, STOCK__ID, VOLUME)
values
(?, ?, ?, ?, ?, ?)
Hibernate設定ファイル
“hibernate.cfg.xml”の完全な例。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.bytecode.use__reflection__optimizer">false</property>
<property name="hibernate.connection.driver__class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.password">password</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/mkyong</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show__sql">true</property>
<property name="format__sql">true</property>
<property name="use__sql__comments">true</property>
</session-factory>
</hibernate-configuration>
HibernateのSQLパラメータ値はどうですか?
この基本的なSQLロギングは通常のデバッグには十分ですが、Hibernate SQLパラメータ値を表示することはできません。 Hibernate SQLパラメータ値をコンソールまたはファイルに表示するには、サードパーティのライブラリ統合が必要です。次の2つの記事を確認してください。
-
link://hibernate/how-to-display-hibernate-sql-parameter-values-solution/[どのようにして
ハイバネートSQLパラメータ値を表示する – P6Spy]。 link://hibernate/how-to-display-hibernate-sql-parameter-values-log4j/[どのようにして
Hibernate SQLパラメータ値を表示する方法 – Log4J]