発行されるSQLを確認する
最終更新日: 2020年3月14日
R8 | R9
log4j.propertiesに下記の行を追加することで、system.logに実行したSQLが出力されます。
ビルドしたアプリケーションの hibernate.cfg.xml を変更することで、Hibernate が生成する HQL を直接、確認する方法を説明します。
出力されるSQLは次のような形になります。これは正確には、Hibernate が扱う HQL です。
where 句の条件部は '?' となります。実際の値は表示されません。
'?' に値が含まれた SQL は、データベース側のログで確認するようにしてください。
log4j.properties
log4j.logger.org.hibernate.SQL=DEBUG
hibernate.cfg.xml
<hibernate-configuration>
<session-factory>
...
<property name="show_sql">true</property>
...
</session-factory>
</hibernate-configuration>
プレースホルダの扱い
select jgroupid_0_."userid" as userid1_61_0_, jgroupid_0_."jgroupid" as jgroupid2_56_0_, jgroupid_0_."jgroupidjshid" as jgroupid3_0_ from "juser$jgroupid" jgroupid_0_ where jgroupid_0_."userid"=?
ワンポイント