4

複数のjarファイルにいくつかのエンティティが分散しています。jar X にあるエンティティには、jar Y からのエンティティのコレクションが含まれています。jar XI で静的ウィービングを実行しようとすると、次のエラーが発生します。

例外の説明: [クラス MyEntity] は、非エンティティ [クラス MyOtherEntity] を関係属性 [メソッド 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 org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.ManyToManyAccessor.process(ManyToManyAccessor.java:160) の .persistence.internal.jpa.metadata.accessors.mappings.RelationshipAccessor.processJoinTable(RelationshipAccessor.java:692) 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.org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:550) の processORMMetadata(MetadataProcessor.java:535) org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java: 1469)

両方のエンティティに @Entity のアノテーションが付けられており、Hibernate で問題なく動作しました。
両方のクラスがクラスパスにあり、デバッガーで MyOtherEntity が見つかり、期待どおりに注釈が付けられていることを確認しました。

エンティティが複数の jar に分散している間に静的ウィービングを使用することは可能ですか?

4

1 に答える 1

0

ウィービング中に依存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>
于 2012-11-05T12:05:13.397 に答える