私はいくつかのJava EE/Spring web-appを開発します。私はJPA 2.0 - Hibernateを使用します。統合テストでは、私は別のデータベースを使用する必要があります。これらのテストではJettyがアプリケーションを実行する必要がありますが、そのような実行のためにweb.xmlをオーバーライドすることができました。そこでSpringのコンテキストファイルを変更できます。 しかし、私は毎回きれいなデータベース(といくつかのデータを読み込む)が必要です。 私のデータベース名とアドレスはsprigコンテキストで設定されているので、上記のように切り替えましたが、このテストのpersistence.xmlの一部を変更してデータベースを削除して再作成するにはどうすればよいですか? /src/test/resources/META-INFに別のpersistence.xmlを作成しようとしましたが(テストクラスがクラスパスの最初にあることがチェックされていますが)ロードされておらず、/ srcの 'master'/main/resources/META-INF)。どんな助け?テスト実行/ JPAのための異なるpersistence.xmlの特権
0
A
答えて
0
春には、通常、データソースをスプリングビーンとして定義します。データベースのURLと資格情報は通常、外部ファイル(application.propertiesなど)から構成されます。
src/test/resources
に新しいapplicaiton.propertiesを追加するとうまくいきます。 See also here。
0
あなたはorg.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManagerを定義することができます、そして、
<bean id="pum" class="org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager">
<property name="persistenceXmlLocations">
<list>
<value>/path/to/my/test-persistence.xml</value>
</list>
</property>
<property name="dataSources">
<map>
<entry key="dataSource" value-ref="dataSource"/>
</map>
</property>
<!-- if no datasource is specified, use this one -->
<property name="defaultDataSource" ref="dataSource"/>
</bean>
あなたのEntityManagerFactoryにリンク:
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
...
...
<property name="persistenceUnitManager" ref="pum"/>
</bean>
私は自分自身にするためにこれを使用persistence.xmlは、DBUnit(hibernate.hbm2ddl.auto = create-dropを使用)をプリロードしたHSQLインメモリDBにリンクされています。
これは完全に動作します。
関連する問題
- 1. Jpa統合テストPersistence.xml
- 2. SEアプリケーションのJPA persistence.xmlデータソース
- 3. EclipseLink JPA - persistence.xmlの場所
- 4. 特権のない実行FROMスクラッチ
- 5. MongoDB - setFeatureCompatibilityVersionを実行するために必要な特権は何ですか?
- 6. 権限のあるコンテナが特権モジュールの実行のためにlibsudo_util.so.0をロードできません
- 7. トランザクションから挿入を実行するときのJPA 2.0の不十分な特権
- 8. ルートシェルで特権のないコマンドを実行する
- 9. 特権のないユーザーに特定のコマンドを実行させる
- 10. 異なるボイドメソッドを実行するためのモックオブジェクト
- 11. 私のJMeterテスト実行のサンプル数が異なる理由
- 12. 権限と特権Oracle DBユーザーのためのSonar LTS
- 13. Maven、CDI、JUnit、JPA。 HSQLDBに対するテストを実行したい
- 14. は、特定のテスト実行のmaven
- 15. persistence.xmlのないプロジェクトJPAをスイングしますか?
- 16. JPAが特異属性
- 17. 特権のないドッカーコンテナ内でSystemTapを実行
- 18. Sonarqube解析実行中のエラー「不十分な特権」
- 19. 実行のためのOracle付与権限
- 20. デフォルトの特権のためにPostgreSQLのドロップロールが失敗する
- 21. 試合のための異なる発話のテスト
- 22. 異なるケースをテストするためのサービス値の変更
- 23. Django SQLiteテストの奇妙さ:異なる実行パス?
- 24. JPAを使用する場合のpersistence.xmlのプロパティタグ
- 25. pytestで異なる実行/プロセスにわたるテストの一貫性
- 26. MarkLogic - xdmp:トリガーのための特権を生成する
- 27. 異なるJPA実装によるデータベース型への異なるマッピング
- 28. 昇格された特権でカスタム実行ファイルを実行するには?
- 29. Openshiftで特権付きドッカーコンテナを実行
- 30. テストのためにスタンドアロンのJasmineを実行する角度アプリ
はい私は知っていますが、Spring Contexではなくpersistence.xmlに問題があります - 私は –
M4ks
aha ..を変更したいと思います。私は春に設定するプロパティを外部化しましたが、それはクラスの1つの拡張を必要とします。 – Bozho