[英]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.