persistence-unit
Hibernate の hbm2ddlcreate-drop
とその他の用途を除いて同一の2 つの svalidate
があります。データベースは liquiBase によって作成されます。
Eclipse から任意のテスト (in-mem db という名前の HSQLDB) を実行すると、正常に動作します。しかし、Maven からそれらすべてを実行すると、奇妙な外部キー違反でブレーキがかかります。
私が奇妙だと思うのは、4 つの異なるスレッドからメッセージを受け取り、たとえばテーブル ドロップがまだコンソールに書き込まれている間に永続ユニットの 1 つを閉じることです。
すべてが独自の ApplicationContext を持つ 4 つのスレッドを取得するのはなぜですか? 私はparallel
確実にパラメータを設定しておらず、mavenにも -T スイッチを使用していません。
編集:
Maven のコマンドライン出力のスニペットを次に示します。
Hibernate: drop table PostalCodeDistribution if exists
Hibernate: drop table PublicationAudit if exists
15:21:13.672 [Thread-2] INFO org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'TestPU-nocreate'
Hibernate: drop table PostalCodeDistributionAudit if exists
Hibernate: drop table PublicationInvoicing if exists
Hibernate: drop table PostalCodeSubscriberCountAudit if exists
15:21:13.672 [Thread-2] INFO org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl - HHH000030: Cleaning up connection pool [jdbc:hsqldb:mem:ptptest]
Hibernate: drop table Revision if exists
Hibernate: drop table PriceDate if exists