簡體   English   中英

Arquillian測試+ sql-maven-plugin的覆蓋表名稱

[英]Overriding Table names for Arquillian Tests + sql-maven-plugin

在我們的項目中,我們使用內部庫中的實體(我們將其包含為JAR)。 類本身看起來像這樣(不能在此處粘貼真實代碼)。

@Table(name = "X_MY_ENTITY")
public class MyEntity{
//columns...
}

在我們的persistence.xml中,我們包含一個映射文件,該文件將表名映射到我們的約定。

  <entity class="com.example.MyEntity">
        <table name="REALNAME_MY_ENTITY"/>
        <sequence-generator name="id_seq" sequence-name="REALNAME_MY_ENTITY_SEQ" allocation-size="1"/>
    </entity>

一切正常。

現在,我們使用Arquillian進行集成測試,並使用sql-maven-plugin生成用於測試的架構。 現在,我希望插件也生成一個視圖。 在sql-maven-plugin的配置中,我包括一個創建視圖的sql文件。 該視圖使用上面提到的表(例如, create or replace view EXAMPLE_VIEW as select * from REALNAME_MY_ENTITY )。 但是,當我嘗試構建項目時,出現錯誤: Table "REALNAME_MY_ENTITY" not found;

我在src / test / resources / META-INF / orm.xml中獲得了orm.xml(映射文件),並將其包含到我的部署包和test-persistence.xml中

我們正在使用:

  • Java 8 + Java EE7
  • 打開EJB v 7.0.4
  • Arquillian JUnit核心1.1.11.Final
  • sql-maven-plugin v1.5

如何配置Arquillian或使用映射表名稱的sql-maven-plugin?

我找到了:我在看錯地方。 顯然,該架構是由hibernate4-maven-plugin生成的,您可以配置一個映射文件(hibernateMapping)。 現在,sql-maven-plugin生成具有正確名稱的表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM