【问题标题】:Static weaving of entities spread over multiple jars fails with EclipseLinkEclipseLink 对分布在多个 jar 中的实体进行静态编织失败
【发布时间】:2012-10-25 04:14:34
【问题描述】:

我有几个实体分布在多个罐子中。 位于 jar X 中的实体包含来自 jar Y 的实体集合。 当我尝试在 jar X 上进行静态编织时,出现以下错误:

异常描述:[class MyEntity] 使用非实体 [class MyOtherEntity] 作为关系属性 [method getMyOtherEntities] 中的目标实体。

该错误与以下堆栈有关:

在 org.eclipse.persistence.exceptions.ValidationException.nonEntityTargetInRelationship(ValidationException.java:1360) 在 org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.RelationshipAccessor.getReferenceDescriptor(RelationshipAccessor.java:538) 在 org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.RelationshipAccessor.processJoinTable(RelationshipAccessor.java:692) 在 org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.ManyToManyAccessor.process(ManyToManyAccessor.java:160) 在 org.eclipse.persistence.internal.jpa.metadata.MetadataProject.processOwningRelationshipAccessors(MetadataProject.java:1489) 在 org.eclipse.persistence.internal.jpa.metadata.MetadataProject.processStage3(MetadataProject.java:1726) 在 org.eclipse.persistence.internal.jpa.metadata.MetadataProcessor.processORMMetadata(MetadataProcessor.java:535) 在 org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:550) 在 org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:1469)

这两个实体都使用@Entity 进行了注释,并且可以在 Hibernate 中正常工作。
这两个类都在类路径中,并且我在调试器中检查了 MyOtherEntity 是否已找到并按预期进行了注释。

实体分散在多个罐子中时是否可以使用静态编织?

【问题讨论】:

    标签: java jpa orm eclipselink


    【解决方案1】:

    你可以尝试在编织时指定依赖的jar

    来自 Ant EclipseLink weave Ant Task的片段

     <weave  source="c:\myjar.jar"
            target="c:\wovenmyjar.jar"
            persistenceinfo="c:\myjar-containing-persistenceinfo.jar">
        <classpath>
            <pathelement path="c:\myjar-dependent.jar"/>
        </classpath>
    
    </weave>
    

    【讨论】:

    • 我正在使用 eclipselink-staticweave-maven-plugin。我已经调试了编织过程并且 MyOtherEntity 在类路径中。
    猜你喜欢
    • 1970-01-01
    • 2011-06-27
    • 2011-10-08
    • 2012-05-30
    • 2013-08-31
    • 2011-10-25
    • 1970-01-01
    • 1970-01-01
    • 2015-04-13
    相关资源
    最近更新 更多