That is unintended, likely from the L2C service changes. Yes we should change that to match the old behavior.
On Wed, May 30, 2018 at 9:43 AM Vlad Mihalcea <mihalcea.v...@gmail.com> wrote: > Hi, > > While upgrading my Hibernate testing repository to 5.3, I realized that we > no longer auto-register the 2nd-level cache for entities and the > collections even if those are annotated with the Hibernate @Cache > annotation. > > I noticed that the Hibernate tests have been modified and we require to > register those manually: > > for ( Map.Entry<Class, String> entry : getCachedClasses().entrySet() ) { > config.put( AvailableSettings.CLASS_CACHE_PREFIX + "." + > entry.getKey().getName(), entry.getValue() ); > } > for ( Map.Entry<String, String> entry : getCachedCollections().entrySet() ) > { > config.put( AvailableSettings.COLLECTION_CACHE_PREFIX + "." + > entry.getKey(), entry.getValue() ); > } > > Now, if I don't do that, I get the following exception: > > Caused by: org.hibernate.cache.CacheException: On-the-fly creation of > JCache Cache objects is not supported > > [com.vladmihalcea.book.hpjp.hibernate.cache.query.QueryCacheTest$Post.comments] > at > > org.hibernate.cache.ehcache.internal.EhcacheRegionFactory.createCache(EhcacheRegionFactory.java:106) > at > > org.hibernate.cache.ehcache.internal.EhcacheRegionFactory.getOrCreateCache(EhcacheRegionFactory.java:100) > at > > org.hibernate.cache.ehcache.internal.EhcacheRegionFactory.createDomainDataStorageAccess(EhcacheRegionFactory.java:71) > at > > org.hibernate.cache.spi.support.RegionFactoryTemplate.buildDomainDataRegion(RegionFactoryTemplate.java:31) > at > org.hibernate.cache.internal.EnabledCaching.prime(EnabledCaching.java:108) > at > > org.hibernate.metamodel.internal.MetamodelImpl.primeSecondLevelCacheRegions(MetamodelImpl.java:284) > at > > org.hibernate.metamodel.internal.MetamodelImpl.initialize(MetamodelImpl.java:116) > at > > org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:295) > at > > org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:467) > at > > org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:939) > > > However, I don't even use JCache. I use "ehcache" instead. > > properties.put("hibernate.cache.region.factory_class", "ehcache"); > > Was a JCache requirement? > > Can we auto-register the entities and collections for other cache > providers? > > I'm worried about all those applications trying to upgrade to 5.3. Imagine > if they have hundreds of entities and collections. People will surely start > complaining if we force them to do that manually during bootstrap. More, > I'm not sure how they can do when they just bootstrap via a JPA > persistence.xml configuration file. > > Vlad > _______________________________________________ > 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