I just personally never knew about this method :) On Mon, Mar 2, 2015 at 10:03 AM, Sanne Grinovero <sa...@hibernate.org> wrote:
> On 2 March 2015 at 15:49, Gunnar Morling <gun...@hibernate.org> wrote: > > > > > > 2015-03-02 16:22 GMT+01:00 Sanne Grinovero <sa...@hibernate.org>: > >> > >> On 2 March 2015 at 15:05, Steve Ebersole <st...@hibernate.org> wrote: > >> > Hmm, I had used to set the set the Specification-* entries too, but it > >> > looks > >> > like those are no longer there :( > >> > >> Just out of curiosity, what would these define? > >> But not too bad, I think I'll simply rely on parsing > >> org.hibernate.Version#getVersionString > >> > >> > On Mon, Mar 2, 2015 at 7:57 AM, Gunnar Morling <gun...@hibernate.org> > >> > wrote: > >> >> > >> >> > Or we could improve on those methods, if not actually adding some > >> >> > easy > >> >> to consume resource in the orm jars. > >> >> > >> >> Doesn't such resource already exist, in the form of > >> >> META-INF/MANIFEST.MF > >> >> -> > >> >> key "Implementation-Version"? > >> > >> Right that could work as well. There will be many manifests on > >> classpath I'd guess, but we could identify the one from ORM from the > >> other keys, such as Bundle-Name, Implementation-Vendor-Id, etc.. > >> But how would that be better over using > >> org.hibernate.Version#getVersionString ? > > > > > > The "Implementation-Version" value can be obtained through a standard > API: > > > > Session.class.getPackage().getImplementationVersion(); > > > > So it basically renders that custom method superfluous. > > Cool trick, I had no idea :) > So why do we have those methods? Just to log it? > > > > > No huge difference apart from that. Only pointing out that there is no > need > > for another "easy to consume resource in the orm jars". > > > >> I guess one benefit of basing on resources would be that we'd be able > >> to check for duplicate ORM jars, but are we interested into going to > >> that length? It wouldn't be fool-proof either, as in a modular world > >> it's possible that ORM version A has visibility on Search (and > >> attempts to start it) but Search could be validating on resources from > >> ORM module B - and not be able to "see" ORM version A's resources. I > >> guess I'd stick with the method invocation, as obviously we can't > >> implement a bullet proof validation either way. > > > > > > +1 for keeping it simple. > > > >> > >> > >> Sanne > >> > >> >> > >> >> Based on that you should be able to raise a meaningful error if the > ORM > >> >> version is "too old". It doesn't help with incompatible future ORM > >> >> versions, but it should improve the experience in some cases. > >> >> > >> >> 2015-03-02 14:40 GMT+01:00 Sanne Grinovero <sa...@hibernate.org>: > >> >> > >> >> > All, > >> >> > it looks like people get easily confused by which version of ORM is > >> >> > compatible with - for example - Hibernate Search. > >> >> > > >> >> > The expected versions are documented plenty, in readme, project > >> >> > sources, documentation and we even remind about the expectations > >> >> > frequently in blog posts. > >> >> > > >> >> > Wondering if it would be more effective to have some marker in ORM, > >> >> > to > >> >> > validate at least for most critical known incompatibilities at > >> >> > runtime? > >> >> > > >> >> > I realize there is no 100% foolproof in any possible solution, but > >> >> > providing a nice error message to 90% of these cases could be > helpful > >> >> > to a large population already, and doesn't seem too complex for us > to > >> >> > do. > >> >> > > >> >> > I guess it could be simple enough to use the existing > >> >> > org.hibernate.Version ? > >> >> > Or we could improve on those methods, if not actually adding some > >> >> > easy > >> >> > to consume resource in the orm jars. > >> >> > > >> >> > WDYT? > >> >> > > >> >> > Sanne > >> >> > > >> >> > - https://hibernate.atlassian.net/browse/HSEARCH-1816 > >> >> > - > >> >> > > >> >> > > >> >> > > http://stackoverflow.com/questions/28736785/org-hibernate-impl-sessionimpl-cannot-be-cast-to-org-hibernate-engine-spi-sessio/28810837#28810837 > >> >> > _______________________________________________ > >> >> > 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 > >> > > >> > > > > > > _______________________________________________ > 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