[hibernate-dev] Programmatic entity mapping API

Steve Ebersole steve at hibernate.org
Tue Oct 24 09:08:11 EDT 2017


Of course you pick the easy case to illustrate :)  A single entity with
nothing but basic attributes or self-referential associations is going to
be relatively simple.  The trickier stuff is adding 2 entities with
association between them, "property-ref" FKs, etc.  Then your fluent API is
not so fluent.

Overall I can see the utility of this but:

   1. I'm not sure your intention here with exposing this from Session, but
   a huge -1 to in any way allowing this even after the SessionFactory is
   built.
   2. Related to this, I can definitely see exposing this to build the
   boot-time model as in the org.hibernate.mapping package - but not so much
   the runtime model.  Ultimately as we move to Jandex for describing the
   boot-time model specifically I can see this API building those structures.
   3. Not a high priority for me.  In fact between 6 and then the Jandex
   work I mentioned, I do not foresee having time to work on this


On Tue, Oct 24, 2017 at 6:36 AM Alessio Stalla <alessiostalla at gmail.com>
wrote:

> That would be great for framework developers as well.
>
> Il 24 ott 2017 12:01, "Gunnar Morling" <gunnar at hibernate.org> ha scritto:
>
> > Anyone with thoughts on this? To elaborate, here's what I have in mind:
> >
> >     EntityMapping mapping = session.addEntityMapping();
> >     mapping.entity( Person.class )
> >         .table( "PERSONS" )
> >         .property( "personId" )
> >             .id()
> >                 .strategy( Strategy.IDENTITY )
> >         .property( "phoneNumbers" )
> >             .oneToMany()
> >                 .mappedBy( "person" )
> >         .property( "favouriteColor" )
> >             .converter( ColorConverter.class );
> >
> > I'm curious whether others think that'd be useful or not.
> >
> > Vlad, perhaps you have any insights from the field?
> >
> > Cheers,
> >
> > --Gunnar
> >
> >
> >
> >
> > 2017-10-13 21:21 GMT+02:00 Gunnar Morling <gunnar at hibernate.org>:
> >
> > > Hi all,
> > >
> > > This has crossed my mind for a few times: should we provide a
> > programmatic
> > > API in Hibernate ORM for mapping entities, as an alternative mapping
> > > definition source to annotations and XML? I.e. something similar to the
> > > programmatic mapping APIs we have in Hibernate Validator and Search.
> > >
> > > It'd probably be a fair bit of work (though giving lots of fun with API
> > > design), but I can see how it could be appealing to folks preferring
> > > API-style ways of configuring their stack, which seems more and more en
> > > vogue these days. Using lambda expressions would be attractive
> especially
> > > when it comes to plugging in custom behaviours, e.g. for value
> > generators.
> > >
> > > Any thoughts?
> > >
> > > --Gunnar
> > >
> > >
> > _______________________________________________
> > hibernate-dev mailing list
> > hibernate-dev at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/hibernate-dev
> >
> _______________________________________________
> 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