[hibernate-dev] Could we have a Hibernate 5.3 compatibility layer that includes the ORM 5.1 Hibernate Session class

Steve Ebersole steve at hibernate.org
Wed Jan 31 10:49:41 EST 2018


Not to mention, I'm really not even sure what this request "means".  As we
all understand 5.1 -> 5.2 unified SessionFactory/EntityManagerFactory and
Session/EntityManager, and that caused us to have to make changes to
certain method signatures - most notably `Session#getFlushMode` was one of
the problems.  Session defined that returning a FlushMode; however JPA also
defined this same method, although poorly named IMO since it instead
returns JPA's FlushModeType (so why the method is not called
`#getFlushModeType` is beyond me.  Anyway the point is that there is no way
to rectify these - there is no way that we can define a contract that
simultaneously conforms to both.

As Sanne said, and as we all agreed during f2f, the best approach is to
have both versions available for use.


On Wed, Jan 31, 2018 at 9:28 AM Sanne Grinovero <sanne at hibernate.org> wrote:

> Didn't we discuss this at our last meeting?
>
> The general opinion - and final verdict - was that doing like you're
> asking now again would be way too much work and not generally worth
> it, not least not in the best interest of all our users. Technically
> it's certainly possible, but a lot of work going at cost of more
> useful progress, not least possibly causing confusion to users in
> various ways.
>
> Our proposal is unchanged (from the meeting):
>
> we'll have - experimentally - two versions in WildFly.
>
> In a first stage this would be version 5.1 and 5.3, so that people
> needing backwards compatibility with 5.1 can use 5.1 (can't have
> better compatibility than that!), while people wanting to use a later
> version can opt in for that.
>
> In a second stage, possibly onboarding some lessons, version 5.3 will
> be gradually replaced with 6.0. MAYBE 6.0 will be API compatible with
> 5.3, but definitely not with 5.1.
>
> I'm not sure if we can have this in WildFly.next, but the sooner the
> better. As soon as we have a stable release of Hibernate ORM 5.3 we'll
> start looking into details of such a double integration.
>
> Thanks,
> Sanne
>
>
>
>
> On 31 January 2018 at 06:43, Scott Marlow <smarlow at redhat.com> wrote:
> > WildFly would like to have a version of 5.3+, that is compatible with ORM
> > 5.1, with regard to the org.hibernate.session changes (including mapping
> of
> > exceptions thrown, so that the same exceptions are thrown).
> >
> > Is it even possible to have an extra org.hibernate.Session interface +
> impl
> > (bridge) that matches the same session included in 5.1?  The impl would
> > delegate to the real underlying org.hibernate.Session impl classes and
> also
> > wrap thrown exceptions, so that Hibernate 5.1 native ORM apps, continue
> to
> > work without code changes
> >
> > Or something like that.
> >
> > I could see how some users wouldn't want to use the compatibility layer
> to
> > avoid extra overhead, so in WildFly, we would have to make that possible
> > also.
> >
> > What do you think?
> >
> > We would need something similar in ORM 6.0+ that is also compatible with
> > 5.1, if this is possible.
> >
> > Scott
> > _______________________________________________
> > 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