Arquillian测试的覆盖表名称 SQL-Maven-Plugin



在我们的项目中,我们正在使用Inhouse库中的实体(我们将其包括在内(。该类本身看起来像这样(在这里不能粘贴真实的代码(。

@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/test/resources/meta-inf/orm.xml中获得了我的orm.xml(映射-fie(,其中包括我的部署包装和我的test-persistence.xml

我们正在使用:

  • Java 8 Java EE7
  • 打开EJB V 7.0.4
  • Arquillian Junit Core 1.1.11.final
  • sql-maven-plugin v1.5

如何配置使用映射的表名称的Arquillian或SQL-Maven-Plugin?

我找到了它:我看着错误的地方。显然,该架构是由Hibernate4-Maven-Plugin生成的,您可以配置映射文件(HibernateMapping(。现在,SQL-Maven-Plugin生成了具有正确名称的表。

最新更新