You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
But if you check the usages of AvailableSettings.CLASSLOADERS in Hibernate 5 you will find that it is only used by the legacy and unused method fromConfigSettings() in ClassLoaderServiceImpl. Therefore I believe this code effectively does nothing.
I believe that LocalSessionFactoryBuilder should actually pass the ClassLoader to the parent Hibernate Configuration constructor using something like this:
The irony is that AvailableSettings.CLASSLOADERS is new in 5.0... What exactly is that setting good for if it doesn't work for such purposes??
We can do the applyClassLoader thing, of course; thanks for pointing that out. It's just a little unfortunate with respect to the lifecycle of a given MetadataSources object which we accept as of 4.3 now...
Jon Mann opened SPR-13879 and commented
We are using hibernate5.LocalSessionFactoryBean (with Hibernate v5.0.5) and having difficulties passing a custom ClassLoader to Hibernate.
In particular LocalSessionFactoryBuilder uses the following code in its constructor:
But if you check the usages of AvailableSettings.CLASSLOADERS in Hibernate 5 you will find that it is only used by the legacy and unused method fromConfigSettings() in ClassLoaderServiceImpl. Therefore I believe this code effectively does nothing.
I believe that LocalSessionFactoryBuilder should actually pass the ClassLoader to the parent Hibernate Configuration constructor using something like this:
super(new BootstrapServiceRegistryBuilder().applyClassLoader(resourceLoader.getClassLoader()).build())
Hopefully this makes some sense.
Thanks to the Spring team for a great product.
Affects: 4.2.4
Issue Links:
The text was updated successfully, but these errors were encountered: