[hibernate-dev] Compatibility Considerations wiki

Gunnar Morling gunnar at hibernate.org
Mon Aug 18 03:14:33 EDT 2014


Hi Steve,

Thanks for writing up these rules. That's very valuable information for
users and us as well.

Only two remarks on the following:

> The use of package names for this is unfortunately not granular enough
oftentimes.
> Ultimately I would envision a better solution (annotations?)

In which cases is it not granular enough? Can such case not always be
circumvented by refactoring code into separate classes within separate
packages?

I'm fearing issues with e.g. distinguishing between public (API/SPI) vs.
internal parts on a finer level than the package, as that's what OSGi but
also JBoss Modules rely on. We cannot fully leverage the ability of these
module systems to "hide" internal parts of a module in that case.

Also I think annotations are easier to "miss" than package names when
importing classes into an application, thus I'm concerned about accidental
referencing internal classes.

> SPI contracts should be considered stable within a release family, not
necessarily across different release families.

A specific example, similar to the API section, would be nice, e.g.: "If
you implement an application against an integration point from Hibernate
ORM 4.3.0, the expectation is that it works without changes when updating
to ORM 4.3.1. It should also continue to work when updating to ORM 4.4.x in
the very most cases, but that's not guaranteed."

--Gunnar


2014-08-09 16:55 GMT+02:00 Steve Ebersole <steve at hibernate.org>:

> There was a discussion in regards to our view on backwards compatibility in
> reference to HHH-9316.  I realized that we talk about this amongst
> ourselves, but that I have never written these down.  So I did that:
>
>
> https://github.com/hibernate/hibernate-orm/wiki/Compatibility-Considerations
>
> This is a first draft.  Let me know what you think.
> _______________________________________________
> 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