jpa整合spring和springData出错: Unable to build Hibernate SessionFactory

时间:2021-08-09 20:35:14
1
2
3
4
5
6
7
警告: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [com/configuration/spring.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default ] Unable to build Hibernate SessionFactory
 
 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [com/configuration/spring.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default ] Unable to build Hibernate SessionFactory
 
 
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default ] Unable to build Hibernate SessionFactory
1
Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.spi.CacheImplementor]
1
Caused by: org.hibernate.cache.NoCacheRegionFactoryAvailableException: Second-level cache is used in the application, but property hibernate.cache.region.factory_class is not given; please either disable second level cache or set correct region factory using the hibernate.cache.region.factory_class setting and make sure the second level cache provider (hibernate-infinispan, e.g.) is available on the classpath.



console说的,没有加入hibernate.cache.region.factory_class


​加入:

1
<prop key= "hibernate.cache.region.factory_class" >org.hibernate.cache.ehcache.EhCacheRegionFactory</prop>

jpaProperties的配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<property name= "jpaProperties" >
             <props>
                 <!--命名策略-->
                 <prop key= "hibernate.ejb.naming_strategy" >org.hibernate.cfg.ImprovedNamingStrategy</prop>
 
                 <!--基本配置-->
                 <prop key= "hibernate.format_sql" > true </prop>
                 <prop key= "hibernate.show_sql" > true </prop>
                 <prop key= "hibernate.hbm2ddl.auto" >update</prop>
                 <prop key= "hibernate.dialect" >org.hibernate.dialect.MySQL5InnoDBDialect</prop>
 
                 <!--二级缓存-->
                 <prop key= "hibernate.cache.use_query_cache" > true </prop>
                 <prop key= "hibernate.cache.use_second_level_cache" > true </prop>
                 <prop key= "hibernate.cache.region.factory_class" >org.hibernate.cache.ehcache.EhCacheRegionFactory</prop>
             </props>
         </property>