2016-04-16 2 views
0

xmlファイルに<property name="hbm2ddl.auto">create</property>が設定されています。 Webアプリケーションを作成するときは、まずデータベースに新しいテーブルを作成する必要があります。したがって、hbm2ddl.autoは作成する必要があります。それから私はこのテーブルにデータを挿入したい、私は手でhbm2ddl.autoを変更したくない。 servlet.javaでこれを "更新"する方法を教えてください。サーブレットでhbm2ddl.autoを変更するには? xmlでない

答えて

0

ロングストーリーショート:できません。 hbm2ddl.autoは不変SessionFactoryで使用されているevironmental変数です:なぜここに


です。アプリケーション開始時にインスタンス化されますが、変更することはできません。実行時になぜそれをupdateに変更する必要があるのか​​わかりません。エンティティモデルをコード "手作業"で変更した場合は、とにかくアプリケーションをデプロイする必要があるため、値をupdateに変更することもできます。しかし、私は深刻な生産ビルドの更新オプションを信頼しません。

0

変数は変更できませんが、実行時にSchemaUpdateを開始できます。構成のみが必要です。

使用:=真

new SchemaUpdate(cfg).execute(script, doUpdate) 

スクリプト - コンソールへ>印刷のすべてのDDL

はdoupdate =真 - DB

に>変更
関連する問題