私はいくつかの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. トランザクションから挿入を実行するときのJPA 2.0の不十分な特権
- 5. ルートシェルで特権のないコマンドを実行する
- 6. JPAが特異属性
- 7. Maven、CDI、JUnit、JPA。 HSQLDBに対するテストを実行したい
- 8. Django SQLiteテストの奇妙さ:異なる実行パス?
- 9. 実行のためのOracle付与権限
- 10. デフォルトの特権のためにPostgreSQLのドロップロールが失敗する
- 11. 昇格された特権でカスタム実行ファイルを実行するには?
- 12. 異なるJPA実装によるデータベース型への異なるマッピング
- 13. 環境に応じた特定のGebテストの実行
- 14. 失敗したテストと未実行のテストの再実行
- 15. テストを実行するためのメソッドの整理 - C#
- 16. JPA persistence.xml META-INFが正しく機能しない
- 17. DefaultAppPoolはIISで特権昇格特権で実行されますか?
- 18. Spring-JPAのテスト
- 19. MVP対MVP2 - JVMでテストを実行するためのベストプラクティス
- 20. ヘルパーなしで特権でアプリケーションを実行
- 21. persistence.xmlのないeclipselink
- 22. ファイルアクセスのためのWeb環境での特権昇格
- 23. unixのディレクトリにcdするための実行権限が必要ですか?
- 24. Webアプリケーションを実行するためのLinuxユーザー権限のベストプラクティスは?
- 25. WCFの異なるサービス操作のための異なるセキュリティ
- 26. PowerBIで異なる視覚化のための異なるスライサー
- 27. インターネットブラウザーが異なるため、GWTアプリの実行が異なることはありますか?
- 28. grails mockDomain()テストとすべてのテストスイートで実行すると異なる動作
- 29. ユニットテストランのための特別なコンパイラフラグ
- 30. SQL ServerのDATEDIFF関数 - 異なるケースで異なる実行
はい私は知っていますが、Spring Contexではなくpersistence.xmlに問題があります - 私は –
M4ks
aha ..を変更したいと思います。私は春に設定するプロパティを外部化しましたが、それはクラスの1つの拡張を必要とします。 – Bozho