博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate4.3.9Final常见问题汇总
阅读量:6271 次
发布时间:2019-06-22

本文共 3366 字,大约阅读时间需要 11 分钟。

 

hibernate4下一个可用的hibernate.properties:

jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/hibernate?characterEncoding=UTF-8jdbc.username=usernamejdbc.password=passwordhibernate.dialect=org.hibernate.dialect.MySQLDialect
#hibernate.current_session_context_class=threadhibernate.current_session_context_class=org.springframework.orm.hibernate4.SpringSessionContext
hibernate.cache.use_query_cache=truehibernate.jdbc.batch_size=50
hibernate.cache.use_second_level_cache=true#hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory#hibernate.cache.provider_class=org.hibernate.cache.ehcache.EhCacheRegionFactory // hibernate3hibernate.cache.provider_class=org.hibernate.cache.spi.RegionFactoryhibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory
hibernate.hbm2ddl.auto=update
hibernate.show_sql=true

 

 

pom.xml中相关配置:

4.3.9.Final
4.1.6.RELEASE
5.1.35
UTF-8

hibernate.properpties中关于二级缓存的配置:

hibernate.cache.use_second_level_cache=true
hibernate.cache.provider_class=org.hibernate.cache.spi.RegionFactory
hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory
报错信息:
Caused by: org.hibernate.HibernateException: could not instantiate RegionFactory [org.hibernate.cache.ehcache.EhCacheRegionFactory]
 at org.hibernate.cache.internal.RegionFactoryInitiator.initiateService(RegionFactoryInitiator.java:101)
 at org.hibernate.cache.internal.RegionFactoryInitiator.initiateService(RegionFactoryInitiator.java:46)
 at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:105)
 at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:251)
 ... 80 more
Caused by: org.hibernate.boot.registry.selector.spi.StrategySelectionException: Unable to resolve name [org.hibernate.cache.ehcache.EhCacheRegionFactory] as strategy [org.hibernate.cache.spi.RegionFactory]
 at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.selectStrategyImplementor(StrategySelectorImpl.java:128)
 at org.hibernate.cache.internal.RegionFactoryInitiator.initiateService(RegionFactoryInitiator.java:87)
 ... 83 more

原因及解决办法:

缺少jar:hibernate-ehcache
添加:

org.hibernate
hibernate-ehcache
${hibernate-version}

org.hibernate.HibernateException: save is not valid without active transaction
 at org.hibernate.context.internal.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:352)
 at com.sun.proxy.$Proxy24.save(Unknown Source)
 at com.xx.dao.BaseDao.save(BaseDao.java:31)

对于提示*** is not valid without active transaction 的错误

可以在Hibernate的配置文件中做如下修改
<prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop>(Hibernate4)
对于Hibernate3.x,可以直接把上述设置删除,就不会报错了,具体原因尚不清楚。
须知:几乎所有正常的操作都必须在transcation.isActive()条件下才能执行。get,load,save, saveOrUpdate,list都属于这类。
http://blog.csdn.net/wzk527/article/details/8543480

 

日志打印:

增加slf4j的jar,譬如log4j可选择添加slf4j-api.jar和slf4j-log4j12.jar

 

转载于:https://www.cnblogs.com/softidea/p/4492252.html

你可能感兴趣的文章
角色权限分配
查看>>
明小子动力上传拿webshell.zip
查看>>
ES6 Module export与import复合使用
查看>>
第三篇、image 设置圆角的几种方式
查看>>
关于Vs2010 C#使用DirectX的问题
查看>>
EPP(Eclipse PHP)语法高亮仿EditPlus配置
查看>>
OA账号架构权限的问题
查看>>
030——VUE中鼠标语义修饰符
查看>>
python编辑csv
查看>>
sql游标的使用与exec的两种用法
查看>>
数据结构
查看>>
78/90 Subsets --back tracking
查看>>
非托管资源的释放
查看>>
开篇寄语
查看>>
Dijkstra算法的C++实现
查看>>
phpstorm psr2样式.xml
查看>>
js 无限级分类
查看>>
umask值与Linux中文件和目录权限的关系
查看>>
python自动化开发-8
查看>>
bzoj 2127: happiness
查看>>