SSブログ

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"ということになりそうです。


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。