[英]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中
我們正在使用:
如何配置Arquillian或使用映射表名稱的sql-maven-plugin?
我找到了:我在看錯地方。 顯然,該架構是由hibernate4-maven-plugin生成的,您可以配置一個映射文件(hibernateMapping)。 現在,sql-maven-plugin生成具有正確名稱的表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.