JPA 実行SQLを出力する [Java]
JPA関連の情報が少ないので、試行錯誤をしてます。
一番やっかいなのは、正常にquery実行しているくせに何も取得できないケース。
本当に意図しているSQLが発行されていることを確認するには、、、
persistence.xmlにオプションを追加
<property name="eclipselink.logging.level.sql" value="fine"/>
これを使うとJUnitの裏で何やってるかも一目瞭然です。
DROP TABLE、CREATE TABLEを裏で実行しているんで、JUnit実行のたびにテーブルが空っぽになるんですね。
■追記
DROP TABLE、CREATE TABLEについては同じくpersistence.xmlでのオプション指示によるものです。
<property name="eclipselink.ddl-generation" value="drop-and-create-tables" />
DBデータに対して何もしたくないときには、以下の記述を入れるか、同オプションを指定しないかで対応できます。
<property name="eclipselink.ddl-generation" value="none" />
JUnitなどのテスト時には"drop-and-create-tables"、実稼働時には"none"ということになりそうです。
2015-11-05 14:00
nice!(0)
コメント(0)
トラックバック(0)
コメント 0