]
Emmanuel Bernard resolved HHH-6724.
-----------------------------------
Resolution: Fixed
AnnotationBinder and HbmBinder improperly set EntityPersisterClass
upon class hierarchy
---------------------------------------------------------------------------------------
Key: HHH-6724
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-6724
Project: Hibernate Core
Issue Type: Bug
Components: metamodel
Affects Versions: 4.0.0.CR4
Reporter: Emmanuel Bernard
Assignee: Emmanuel Bernard
Fix For: 4.0.0.next
In Hibernate Core 3.6, PersisterClassProvider (the father of PersisterClassResolver) was
called before the Binder phase could set any default value (in particular in the
inheritance case). This was done in EntityBinder.bindEntity() if @Persister was not
explicitly set.
In Hibernate Core 4, such calls to PersisterClassResolver are done in
PersisterFactoryImpl#createEntityPersister. This is after the Binder phase which sets
persister values when mapping a class hierarchy (AnnotationBinder#bindClass line 608, 631
and 651).
Hibernate OGM is not given opportunity to override the value.
A fix for this involves not setting PersistentClass#setEntityPersisterClass in the
Binders (unless explicitly set) and move the class hierarchy decision logic to
PersisterClassResolver. Note that the initial PersisterClassResolver implementation was
incomplete.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: