Hibernate4.3.9Final常见问题汇总

hibernate4下一个可用的hibernate.properties:

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/hibernate?characterEncoding=UTF-8
jdbc.username=username
jdbc.password=password

hibernate.dialect=org.hibernate.dialect.MySQLDialect
<!-- Enable Hibernate‘s automatic session context management -->
#hibernate.current_session_context_class=thread
hibernate.current_session_context_class=org.springframework.orm.hibernate4.SpringSessionContext
 <!-- start cache query -->
hibernate.cache.use_query_cache=true
hibernate.jdbc.batch_size=50
<!-- set second level -->
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 // hibernate3
hibernate.cache.provider_class=org.hibernate.cache.spi.RegionFactory
hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory

<!-- Drop and re-create the database schema on startup -->
hibernate.hbm2ddl.auto=update
<!-- Echo all executed SQL to stdout -->
hibernate.show_sql=true

pom.xml中相关配置:

    <properties>
        <hibernate-version>4.3.9.Final</hibernate-version>
        <spring-version>4.1.6.RELEASE</spring-version>
        <mysql-driver-version>5.1.35</mysql-driver-version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

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
添加:

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-ehcache</artifactId>
            <version>${hibernate-version}</version>
        </dependency>

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

时间: 2024-10-26 02:46:27

Hibernate4.3.9Final常见问题汇总的相关文章

Google AdMob 常见问题汇总

AdMob 常见问题汇总 五 09 **** 客服相关 **** 1. 请问 AdMob 有没有客服可以提供如帐号被封.付款信息.申诉渠道等的咨询? 有的:有关 AdMob 的问题,可以访问我们的帮助中心: http://support.google.com/admob/?hl=zh-Hans&hlrm=en. 如果没有找到相应解答,也可以通过 @AdMob开发者官方微博 与我们进行互动: http://www.weibo.com/googleAdMob. **** 使用 AdMob *****

destoon入门实例与常见问题汇总

destoon入门实例与常见问题 收集了一些destoon入门实例与常见问题,大家做个参考.转自:http://blog.csdn.net/vip_linux/article/details/37833963 链接如下: destoon忘记后台密码怎么办?destoon找回管理员密码 忘记destoon管理员后台账号密码怎么办?解决方法 destoon如何实现调用自增数字从1开始 destoon底部添加你是第几位访问者 destoon调用热门关键字的例子 destoon首页怎么调用求购供应信息的

IDE常见问题汇总

1.Oracle10gForVistaX64下载地址:http://download.oracle.com/otn/nt/oracle10g/10204/10204_vista_w2k8_x64_production_db.zip 2.Oracle 10g x64 for Vista 在Win7x64下安装需要修改三个文件:(1).\10204_vista_w2k8_x64_production_db\database\stage\prereq\db\refhost.xml (2).\10204

[转]H5项目常见问题汇总及解决方案

html { line-height: 1.6 } body { font-family: -apple-system-font, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; background-color: #f3f3f3; line-height: inherit } body.rich_media

CentOS安装Oracle数据库详细介绍及常见问题汇总

一.安装前准备 1.软件硬件要求 操作系统:CentOS 6.4(32bit)Oracle数据库版本:Oracle 10g(10201_database_linux32.zip)最小内存:1G(检查命令:#grep MemTotal /proc/meminfo)最小Swap:2G(检查命令:#grep SwapTotal /proc/meminfo) 2.安装依赖包 # rpm -q binutils compat-libstdc++-33 compat-libstdc++-33.i686 el

mysql几个常见问题汇总

mysql几个常见问题汇总 一. mysql下的清屏命令 \! clear:Ctrl+shift+L:Ctrl+L Linux下的清屏命令 Clear ; Ctrl+L; Shift+ctrl+L 二. 查看mysql版本的四种方法 1:在终端下:mysql -V. 以下是代码片段: [[email protected] ~]$ mysql -V mysql Ver 14.7 Distrib 4.1.10a, for redhat-linux-gnu (i686) 2:在mysql中:mysql

SVN集中式版本控制器的安装、使用与常见问题汇总

SVN是Subversion的简称,是一个开放源代码的版本控制系统,它采用了分支管理系统,集中式版本控制器 官方网站:https://www.visualsvn.com/ 下载右边的服务器端,左边的客户端收费,我们使用TortoiseSVN替代他即可 TortoiseSVN:TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录.文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器.你可以将文件恢复到过去

Altera的FPGA_常见问题汇总65

常见问题汇总:1.alt2gxb模块的每个发送端都需要一个高速:通常情况下一定要从FPGA外面引进来,首选是GX:2.如果我一个FPGA里面有多个alt2gxb模:3.gxb模块里面的Calibrationclk:校准内部匹配电阻用:4.用到gxb模块的bank的参考电压是否必须接:gxb用1.5V或1.2V,推荐客户用1.5V.:5.gxb模块的输入端如果 常见问题汇总 1. alt2gxb模块的每个发送端都需要一个高速的pll_inclk时钟(至少100M以上),请问这个时钟一定要从FPGA

Installshield脚本拷贝文件常见问题汇总

原文:Installshield脚本拷贝文件常见问题汇总 很多朋友经常来问:为什么我用CopyFile/XCopyFile函数拷贝文件无效?引起这种情况的原因有很多,今天略微总结了一下,欢迎各位朋友跟帖补充不完善的地方1:文件路径错误,比如将CopyFile/XCopyFile脚本放在OnFirstUIBefore里,但是引用的文件路径却是INSTALLDIR/TARGETDIR的,而这时候,安装程序还未将安装文件拷贝至用户安装路径,当然是找不到可拷贝的文件的调试和解决办法:在任何拷贝之前,用F