0

サンプルSpring Webflowプロジェクトの1つであるbooking-faces(Spring webflow + JSF + primefaces)で遊んでいます

アプリケーションがデプロイされると、データベースからホテルを検索できるようになり、非常に驚​​きました。最初にデータベースにデータを入力するには、import.sql で sql を実行する必要があると考えました。

次に、プロジェクト全体を検索し、この import.sql が他の構成ファイルによって参照されている場所を見つけません。

したがって、hsqldb がクラスパス上のすべての .sql ファイルを検索し、それらを実行してメモリ内データベースに入力すると考えるのは自然なことです。

ただし、sql ファイル名をimport.sqlからたとえばimport123.sqlに変更すると、データは db に挿入されません。Import.sqlに変更しても機能しなくなりました。

だから私の質問は

  1. この sql ファイルの名前は重要ですか? import.sqlである必要がありますか? 他に選択肢はありますか?
  2. hsqldb に任意の sql ファイルを実行させるにはどうすればよいですか?
4

1 に答える 1

1

はい、あなたが発見したように、名前は重要です。Hibernateはクラスパスでimport.sqlファイルを見つけ、データベーススキーマの作成後に実行します。私の知る限り、ファイル名は構成できず、import.sqlである必要があります

編集-http://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html/session-configuration.htmlでドキュメントを見つけました

どうやら、実行するsqlファイルのコンマ区切りリストにhibernate.hbm2ddl.import_filesを設定できます。

于 2012-10-19T03:14:53.670 に答える