Hibernate SQLをコンソールに表示する – showsql、formatsql、usesqlcomments
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]