[hibernate-dev] 6.0 - Proposed org.hibernate.mapping changes
andrea boriero
dreborier at gmail.com
Thu Mar 23 05:54:51 EDT 2017
I do not have a strong opinion about it, but I'm leaning towards defining
this as an SPI
On 22 March 2017 at 18:15, Steve Ebersole <steve at hibernate.org> wrote:
> Coming back to this to see if people see this as an API concern, of if we
> should define this as an SPI.
>
> One potential argument for making it an API is that it is *conceivable*
> that this model could potentially be walked by the same visitors as
> described in another thread regarding "model navigation". I would not say
> that this is likely, as it would probably hamper the usefulness of this
> navigation when applied to the runtime model which is where I think we
> really want to focus our attention regarding navigation.
>
> On Mon, Feb 27, 2017 at 9:51 AM Steve Ebersole <steve at hibernate.org>
> wrote:
>
> > 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);
> >
> >
> >
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>
More information about the hibernate-dev
mailing list