0

私はMavenプロジェクトの永続化レイヤーでHibernateを使用していますが、これは本当に初めてです。場合によっては、データベースからjpa / hibernateを介して読み取り操作を実行すると、一部のテーブルがドロップされます。プロジェクトはそのような機能を実装していません。これは既知の問題ですか?アクションは読み取りアクションのみです。

4

2 に答える 2

1

今、私はついに答えを見つけました。統合テストの一部の構成で、使用したいim-dbではなく、間違ったdb(テーブルが削除されたdb)に対して実行されたようです。そして、統合テストはドロップすることになっていますが、新しいテーブルを作成することはできません。したがって、この質問への答えは、ルーズリーが問題に結びついているのではなく、誤った構成に結びついています。しかし、おそらくこの答えは、同じ問題を抱えている他の人にこれについて二度考えさせることができます。

于 2012-11-12T14:52:49.540 に答える
0

私もhibernateを初めて使用しますが、hibernate.xmlまたはpersistence.xmlに、そのアプリケーションを実行するたびにベンダーがドロップしてスキーマ、テーブルを生成するように指定できる設定があることを覚えています。

次のプロパティは、アプリの起動時にテーブルを作成します。次にアプリケーションを実行するときに、テーブルが既に存在する場合は再生成されません。

<property name="hbm2ddl.auto" value="create"/>

一方、「create-drop」の値はテーブルを作成し、セッションの終了時にドロップします。

 <property name="hbm2ddl.auto" value="create-drop"/>

このドキュメントをご覧くださいJbossリファレンス

それが役に立てば幸い。

于 2012-09-06T01:12:26.903 に答える