hibernate学习手记(2)
1.javax.persistence.TransactionRequiredException: no transaction is in progress
出现该问题是我没有开启事务,我是在保存之前调用了doWork方法去设置setAutoCommit为true.
解决办法:如果是用到了spring只需要加上@Transactional就可以了,如果使用原始的方式需要调用会话的beginTransaction()方法
2.org.hibernate.HibernateException: No CurrentSessionContext configured!
出现该问题是我没有再cfg.xml中配置会员的context.在cfg.xml加入 <property name="hibernate.current_session_context_class">thread</property>就没问题。
hibernate.current_session_context_class 有两个对应的值
一个是thread 表示本地事务,一个是jta表示全局事务
关于本地事务和全局事务的概念,大家可以百度或者看下这个文章 http://blog.csdn.net/sunitjy/article/details/6585301
3.org.hibernate.exception.GenericJDBCException: could not execute statement
Caused by: java.sql.SQLException: Field 'SID' doesn't have a default value
org.hibernate.AssertionFailure: null id in DBModel.Students entry (don't flush the Session afterQuery an exception occurs)
出现该问题是因为我把 *.hbm.xml中的id配置项中的 generator 的 class属性配置成了native,而数据库对应的字段没有配置成自动递增。
最新文章
- 使用jQuery加载script脚本
- Python 程序员经常犯的 10 个错误
- WP7系统托盘和应用程序栏
- 线程池ThreadPoolExecutor、Executors参数详解与源代码分析
- 【c++】读写txt
- 当WEB站点应用程序池标识为ApplicationPoolIdentity,出现运行错误时的解决方法
- 【不积跬步,无以致千里】DELETE SINGLE IPTABLES RULES
- servlet单例多线程
- STC-单片机控制系统
- 软件工程(GZSD2015)第三次作业
- JAVA小白开发环境配置(编译器为Idea)
- Redhat 6.3上安装OpenSSL
- 小程序数据绑定点赞效果切换(交流QQ群:604788754)
- Java多线程4:Thread中的静态方法
- windows定时关机命令
- <;LC刷题一>;相加为0的数之leetcode1&;2&;15&;16
- MySQL的数据引擎讲解
- [Java基础]List,Map集合总结
- 第十八课 Gazebo仿真器
- php获取数据库结果集