Hi,
I have test projects which use the following entites: A->B->C (where ->
represents a bidirectional OneToMany). This worked in eclipselink 1.1.2.
After upgrading to eclipselink 1.2, I get the following exception when
starting up:
Internal Exception: javax.persistence.PersistenceException: Exception
[EclipseLink-28018] (Eclipse Persistence Services -
1.2.0.v20091016-r5565):
org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [testjparemove]
failed.
Internal Exception: Exception [EclipseLink-7214] (Eclipse Persistence
Services - 1.2.0.v20091016-r5565):
org.eclipse.persistence.exceptions.ValidationException
Exception Description: The target entity of the relationship attribute
[children] on the class [class A] cannot be determined. When not using
generics, ensure the target entity is defined on the relationship mapping.
at
org.eclipse.persistence.exceptions.PersistenceUnitLoadingException.exceptionSearchingForPersistenceResources(PersistenceUnitLoadingException.java:123)
...
Generics are being used. If I go ahead and apply the targetEntity to the
OneToMany, I get the following exception:
Internal Exception: Exception [EclipseLink-7250] (Eclipse Persistence
Services - 1.2.0.v20091016-r5565):
org.eclipse.persistence.exceptions.ValidationException
Exception Description: [class A] uses a non-entity [class byte] as
target entity in the relationship attribute [method getChildren].
at
org.eclipse.persistence.exceptions.PersistenceUnitLoadingException.exceptionSearchingForPersistenceResources(PersistenceUnitLoadingException.java:123)
...
If I rename my classes to be more than one character, as in
Atest->Btest->Ctest, no problems exist. Sounds like a bug, no?