无XML的@Configuration(没有persistence.xml)和openjpa-maven-plugin

时间:2015-01-02 06:18:49

标签: java spring maven openjpa openjpa-maven-plugin

尝试将我的app(spring + jpa)转换为基于@Configuration的spring注释,并摆脱spring app context xml和persistence.xml。所有好的除了openjpa-maven-plugin 2.2.2我用于构建时间类增强工作没有persistence.xml抛出错误:

  

[错误]无法执行目标   org.apache.openjpa:openjpa-maven-plugin:2.2.2:增强(增强)   project myapp:目标的执行增强器   org.apache.openjpa:openjpa-maven-plugin:2.2.2:增强失败:   无法配置MetaDataFactory   (conf.newMetaDataFactoryInstance()返回null)。这可能意味着   没有找到配置属性。确保你有一个   META-INF / persistence.xml文件,它在类路径中可用,   或者您用于配置的属性文件是   可用。如果您使用的是Ant,请参阅或    任务的嵌套元素的属性。   如果您的OpenJPA分发罐损坏,也可能发生这种情况   如果你的安全政策过于严格。

插件的配置是:

      <configuration>
           <includes>**/business/model/*.class</includes>
           <addDefaultConstructor>true</addDefaultConstructor>
           <enforcePropertyRestrictions>true</enforcePropertyRestrictions>
      </configuration>

然而,它的工作原理是persistence.xml,但只包含空持久性单元(我有3个):

<persistence-unit name="pu1" transaction-type="RESOURCE_LOCAL">
</persistence-unit>

<persistence-unit name="pu2" transaction-type="RESOURCE_LOCAL">
</persistence-unit>

<persistence-unit name="pu3" transaction-type="RESOURCE_LOCAL">
</persistence-unit>

所以openjpa-maven-plugin可能从中获得的唯一信息是持久性单元名称,如果它实际上甚至需要它们。

如何在没有persistence.xml的情况下实现构建时openjpa类增强?

0 个答案:

没有答案