[hibernate-dev] 6.0 - Type redesign

Steve Ebersole steve at hibernate.org
Fri Jul 22 15:22:04 EDT 2016


On Fri, Jul 22, 2016 at 4:14 AM Emmanuel Bernard <emmanuel at hibernate.org>
wrote:

An alternative that I can think of is as follows. I'm assuming that the
> data that needs to be contextualized by the path is mapping in nature or
> at least not at all represented in the JPA types.
> Each (JPA) type instance would be inherently specific to the path it
> comes from. It would keep exposing the JPA non contextualized info but
> also add contextualized info.
>
> HibernateEntityType<Foo> fooModel =
>   (HibernateEntityType<Foo>)
> entityManagerFactory.getMetamodel().entity(Foo.class); // considered a root
> for navigation
>
> for (HibernateSingularAttribute sa : fooModel.getSingularAttributes()) {
>    if (sa.getPersistentAttributeType() == EMBEDDED) {
>        HibernateEmbeddableType et = (HibernateEmbeddableType) sa.getType();
>        for (HibernateSingularAttribute esa :
> fooModel.getSingularAttributes()) {
>            if (esa.getPersistentAttributeType() == BASIC) {
>                int span = esa.getPhysicalInfo().getColumnSpan();
>            }
>       }
>     }
> }
>
>
Yes this is quite similar to what I had in mind.  One thing I had
envisioned differently was to have  sa.getPersistentAttributeType() ==
EMBEDDED translate as the attribute being an EmbeddedAttributeMapping which
gives access to what I think you mean by "physical info".

But other than that, yes I think we see it the same way.


More information about the hibernate-dev mailing list