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つの記事を確認してください。

  1. 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]