jmix-projects / jmix-old

DEPRECATED. Use https://github.com/jmix-framework/jmix
16 stars 3 forks source link

Enhancing support for entities between different modules #583

Closed andreysubbotin closed 3 years ago

andreysubbotin commented 4 years ago

Example project: untitled43.zip Now it throws the error on compilation:

> Task :compileJava
Enhancing entities in root project 'untitled43' for source set 'main'
Found JPA entities: [com.company.untitled43.entity.Foo], other model objects: []
Running EclipseLink enhancer in root project 'untitled43' for source set 'main'
Exception in thread "main" Local Exception Stack: 
Exception [EclipseLink-40007] (Eclipse Persistence Services - 2.7.7.1-jmix): org.eclipse.persistence.exceptions.StaticWeaveException
Exception Description: An exception was thrown while weaving: [Ljava.lang.String;@52f759d7
Internal Exception: javax.persistence.PersistenceException: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.7.7.1-jmix): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [jmix] failed.
Internal Exception: Exception [EclipseLink-7250] (Eclipse Persistence Services - 2.7.7.1-jmix): org.eclipse.persistence.exceptions.ValidationException
Exception Description: [class com.company.untitled43.entity.Foo] uses a non-entity [class io.jmix.securitydata.entity.RoleEntity] as target entity in the relationship attribute [field role].
    at org.eclipse.persistence.exceptions.StaticWeaveException.exceptionPerformWeaving(StaticWeaveException.java:140)
    at org.eclipse.persistence.tools.weaving.jpa.StaticWeave.main(StaticWeave.java:88)
Caused by: javax.persistence.PersistenceException: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.7.7.1-jmix): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [jmix] failed.
Internal Exception: Exception [EclipseLink-7250] (Eclipse Persistence Services - 2.7.7.1-jmix): org.eclipse.persistence.exceptions.ValidationException
Exception Description: [class com.company.untitled43.entity.Foo] uses a non-entity [class io.jmix.securitydata.entity.RoleEntity] as target entity in the relationship attribute [field role].
    at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.createPredeployFailedPersistenceException(EntityManagerSetupImpl.java:2109)
    at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:2085)
    at org.eclipse.persistence.tools.weaving.jpa.StaticWeaveClassTransformer.buildClassTransformers(StaticWeaveClassTransformer.java:128)
    at org.eclipse.persistence.tools.weaving.jpa.StaticWeaveClassTransformer.<init>(StaticWeaveClassTransformer.java:78)
    at org.eclipse.persistence.tools.weaving.jpa.StaticWeaveProcessor.process(StaticWeaveProcessor.java:252)
    at org.eclipse.persistence.tools.weaving.jpa.StaticWeaveProcessor.performWeaving(StaticWeaveProcessor.java:174)
    at org.eclipse.persistence.tools.weaving.jpa.StaticWeave.start(StaticWeave.java:117)
    at org.eclipse.persistence.tools.weaving.jpa.StaticWeave.main(StaticWeave.java:86)
Caused by: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.7.7.1-jmix): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [jmix] failed.
Internal Exception: Exception [EclipseLink-7250] (Eclipse Persistence Services - 2.7.7.1-jmix): org.eclipse.persistence.exceptions.ValidationException
Exception Description: [class com.company.untitled43.entity.Foo] uses a non-entity [class io.jmix.securitydata.entity.RoleEntity] as target entity in the relationship attribute [field role].
    at org.eclipse.persistence.exceptions.EntityManagerSetupException.predeployFailed(EntityManagerSetupException.java:233)
    ... 8 more
Caused by: Exception [EclipseLink-7250] (Eclipse Persistence Services - 2.7.7.1-jmix): org.eclipse.persistence.exceptions.ValidationException
Exception Description: [class com.company.untitled43.entity.Foo] uses a non-entity [class io.jmix.securitydata.entity.RoleEntity] as target entity in the relationship attribute [field role].
    at org.eclipse.persistence.exceptions.ValidationException.nonEntityTargetInRelationship(ValidationException.java:1383)
    at org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.RelationshipAccessor.getReferenceDescriptor(RelationshipAccessor.java:569)
    at org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.ObjectAccessor.processForeignKeyRelationship(ObjectAccessor.java:678)
    at org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.ObjectAccessor.processOwningMappingKeys(ObjectAccessor.java:752)
    at org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.ManyToOneAccessor.process(ManyToOneAccessor.java:130)
    at org.eclipse.persistence.internal.jpa.metadata.MetadataProject.processOwningRelationshipAccessors(MetadataProject.java:1666)
    at org.eclipse.persistence.internal.jpa.metadata.MetadataProject.processStage3(MetadataProject.java:1919)
    at org.eclipse.persistence.internal.jpa.metadata.MetadataProcessor.processORMMetadata(MetadataProcessor.java:584)
    at org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:629)
    at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:2006)
    ... 6 more

FAILURE: Build failed with an exception.
dtaimanov commented 3 years ago

Fixed in Haulmont/jmix-data#5