Well the "if it makes sense" is what I am trying to gauge ;) On Fri, Mar 10, 2017 at 12:57 AM Christian Beikov < christian.bei...@gmail.com> wrote:
> In that case I'd say let's do it if it makes sense :) > > > Mit freundlichen Grüßen, > ------------------------------------------------------------------------ > *Christian Beikov* > Am 10.03.2017 um 00:14 schrieb Steve Ebersole: > > > > That's basically exactly what @Incubating means - we are exposing this > > new API/SPI but users should fully expect the contracts to change. > > Basically the annotated API/SPI is not held to our normal > > compatibility rules - this is a new thing and we assume it will evolve > > in use > > > > > > On Thu, Mar 9, 2017, 3:16 PM Christian Beikov > > <christian.bei...@gmail.com <mailto:christian.bei...@gmail.com>> wrote: > > > > Is there a definition to what @Incubating means? I'd rather not > > make it > > an API until we played a little with it for new features. > > > > > > Mit freundlichen Grüßen, > > > ------------------------------------------------------------------------ > > *Christian Beikov* > > Am 09.03.2017 um 17:35 schrieb Steve Ebersole: > > > Currently in 6.0 we have the notion of a Navigable which models > > any "piece" > > > of the application's domain model[1]. We also have the notion of > > > a NavigableVisitationStrategy which defines the strategy for > > handling the > > > visitation of the nodes in a Navigable tree. In other words, > > Hibernate > > > defines a common visitor for how to walk the application's > > mapped domain > > > model and the NavigableVisitationStrategy implementation > > controls which > > > sub-trees are walked; e.g. we'd use this to apply JPA > > EntityGraphs or to > > > stop joining joinable Navigables after we have reached the > > > `max_fetch_depth` setting value. > > > > > > It is important to note that this is very, very different from > > JPA's model > > > and walking it. JPA's model essentially precludes those model > > nodes from > > > defining relational mappings as part of its type system in any > > sane way; > > > this is due to various reasons because of the model's > > design[2]. This > > > Navigable walking would walk the real/full relational mapping > model. > > > > > > The design question is whether we want to expose this "domain > > mode walking" > > > as a general public API feature. This has been requested > > before; Max once > > > asked for it although I forget why. > > > > > > Making this an API means exposing quite a few things. Typical > > visitor > > > pattern, the visitor (NavigableVisitationStrategy) exposes > > "handle" methods > > > based on specific Navigable sub-types. Those sub-types would > > need to be > > > moved to API. I don't have a particular concern with that, just > > mentioning > > > it. > > > > > > Opinions on whether this should become an API? > > > > > > For sure we'd mark it @Incubating, if we decide to do it. > > > > > > [1] Short synopsis: Navigables include things like EntityPersister, > > > CollectionPersister, EmbeddedPersister, PersistentAttribute, > > > CollectionIndex, CollectionElement. A Navigable is always > > relative to a > > > NaviagbleSource. NaviagbleSources are any domain Navigable > > > (NavigableSource extends Navigable) which includes things like > > > EntityPersister, EmbeddedPersister, SingularPersistentAttribute, > > > CollectionElementEntity, CollectionElementEmbedded, etc . The > > > NaviagbleSource will be null in the case of EntityPersister (as > > a root), > > > but in all other cases the NaviagbleSource is non-null. > > > > > > [2] I won't get into the reasons here, but we can certainly > > follow up if > > > anyone challenges that assertion. > > > _______________________________________________ > > > hibernate-dev mailing list > > > hibernate-dev@lists.jboss.org <mailto: > hibernate-dev@lists.jboss.org> > > > https://lists.jboss.org/mailman/listinfo/hibernate-dev > > > > _______________________________________________ > > hibernate-dev mailing list > > hibernate-dev@lists.jboss.org <mailto:hibernate-dev@lists.jboss.org> > > https://lists.jboss.org/mailman/listinfo/hibernate-dev > > > > _______________________________________________ > hibernate-dev mailing list > hibernate-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/hibernate-dev _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev