2012-07-12 25 views
0

我使用HyperJaxb 3與maven從xsd生成java類。爲了指定在AS中使用的數據源,我配置使用persistenceXml(pom.xml中)的自定義模板的persistence.xml在插件的配置設置使用hyperjaxb在往返測試期間忽略數據源

<configuration> 
    <variant>jpa2</variant> 
    <persistenceXml>src/main/etc/persistence.xml</persistenceXml> 
</configuration> 

這裏是模板:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<persistence version="2.0"> 
    <persistence-unit name="##generated"> 
     <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source> 
     <properties> 
      <property name="hibernate.hbm2ddl.auto" value="update" /> 
     </properties> 
    </persistence-unit> 
</persistence> 

由於在使用maven運行測試時沒有數據源,因此往返測試失敗。有沒有辦法忽略jta-data-source選項並回退到persistence.properties,或者在src/test/resources中生成替代persistence.xml?

回答

0

是的,正如你注意到有一個非容器管理的數據源進行測試是有道理的。您可以在/ src/test/resources下定義一個單獨的定義(或使用屬性文件),在運行測試時,這應該優先於src/main/resources。

Junit run not picking file src/test/resources. For file required by some dependency jar

+0

這很安靜,接近我想要完成的。我刪除了persistence.xml模板,併爲測試和標準環境添加了一個hibernate.properties。這適用於我,但是不允許使用標準jpa2連接屬性的缺點。 – Gregor 2012-07-24 14:05:31