繁体   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