[hibernate-dev] 6.0 - Proposed org.hibernate.mapping changes
Steve Ebersole
steve at hibernate.org
Mon Feb 27 10:51:56 EST 2017
No replies, so changing...
On Mon, Feb 20, 2017 at 11:02 AM, Steve Ebersole <steve at hibernate.org>
wrote:
> For 6.0, what do y'all think of these changes proposed below to the
> org.hibernate.mapping package?
>
> *Koen, this affects tools so really would like your thoughts...*
>
> Mostly this comes from the definition of a `#finishInitialization` method
> on ManagedTypeImplementor (which covers mapped-superclass, entity and
> embeddable/embedded). Currently this method takes its supertype as
> PersistentClass; however PersistentClass is generally understood to model
> an entity and tooling certainly uses it as such. Keeping this in mind to
> hopefully minimize impact I propose the following:
>
>
> 1. Define a new org.hibernate.mapping.ManagedTypeMapping that
> represents mappings for any "managed type" in the normal JPA meaning of
> that term (mapped-superclass, entity, embeddable)
> 2. Define a new org.hibernate.mapping.EmbeddedTypeMapping extending
> ManagedTypeMapping (org.hibernate.mapping.Composite). Or should we
> split EmbeddableTypeMapping and "EmbeddedMapping"?
> 3. Define a new org.hibernate.mapping.IdentifiableTypeMapping
> extending ManagedTypeMapping
> 4. Define a new org.hibernate.mapping.MappedSuperclassTypeMapping
> extending IdentifiableTypeMapping
> 5. Define a new org.hibernate.mapping.EntityTypeMapping extending
> IdentifiableTypeMapping
> 6. Make PersistentClass extend EntityTypeMapping and deprecate
> 7. Make Composite extend EmbeddedTypeMapping and deprecate
> 8. Make MapppedSuperclass extend MappedSuperclassTypeMapping and
> deprecate
> 9. Re-work the hierarchies here to better fit this new model
>
>
> /**
> * ...
> *
> * @todo (6.0) Use ManagedTypeMapping here as super-type rather than
> PersistentClass
> */
> void finishInitialization(
> ManagedTypeImplementor<? super T> superType,
> PersistentClass entityBinding,
> PersisterCreationContext creationContext);
>
More information about the hibernate-dev
mailing list