在我们的项目中,我们使用来自内部库的实体(我们使用将它们包含为 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?