4

hibernate を使用して、開発モードでのみ show_sql を有効にするにはどうすればよいですか?
<property name="show_sql">true</property>本番環境では無効にし、開発環境では有効にしたい。

4

2 に答える 2

3

環境関連の情報を別のプロパティファイルに保持する必要があります。このファイルはhibernate.cfg.xmlまたはapplicationContext.xmlから読み取る必要があります。

ここにサンプルファイルがあります

###########################################################
################DATABASE INFORMATION ######################
###########################################################
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/appDB1
jdbc.username=root
jdbc.password=root


# Set Hibernate properties
hibernate.show_sql=true
hibernate.format_sql=false

同様に、構成情報をさらに追加できます。このファイルは、環境によって異なります。

于 2012-04-24T03:48:27.947 に答える
1

あなたの質問から、「開発モード」であることは実行時にコードが知っていることだと思います。そうしないと、構成ファイルのフラグを変更するだけだからです。

その場合、実行時にプログラムで show_sql プロパティ (またはその他のプロパティ) を設定できます。

Configuration config = new Configuration();
config.setProperty(Environment.SHOW_SQL, "true");
config.buildSessionFactory();
...

次に、開発モードかどうかを示す状態に基づいて true/false を選択するだけです。

于 2012-04-24T01:12:30.017 に答える