Hibernate常出现的报错
2015-12-19 23:12
267 查看
刚开始学习hibernate的时候,第一次就遇到了空指针异常,结果是我的配置文件处理错误(主要是数据库表的字段与就java实体类的属性名单词写错了);一般是报空指针异常的话,多半是配置文件的问题。
但是这次报空指针异常找了两天的。因为我的表有个是表示时间的,数据库用的是date类型的。我在java实体类中也是用的Date类型的,但是我导入的包的java.util.Date.所以在.hbm.xml文件里我的时间type="java.util.Date",就一直报空指针异常。后来我把java实体类中的Date类型导入包改成了java.sal.Date,把.hbm.xml文件里的时间类型改成了type="java.sql.Date"。然后就好了!
[b]org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions.[/b]
是说同时打开了两个会话关联。
结果是因为:
public Student getStudent(Class<?> cls, Serializable pk) {
Session session = null;//获得session
Transaction tx = null;//事务
Student student=null; //对象
try {
session=HibernateUtils.getSessionFactory().openSession();
tx=session.beginTransaction();//开启事务
student=(Student)session.get(cls, pk);
tx.commit();//提交事务
} catch (Exception e) {
e.printStackTrace();
tx.rollback();//回滚事务
}finally{
session.close();//关闭session 当时我把这个关闭session注释了
}
return student;
}
但是这次报空指针异常找了两天的。因为我的表有个是表示时间的,数据库用的是date类型的。我在java实体类中也是用的Date类型的,但是我导入的包的java.util.Date.所以在.hbm.xml文件里我的时间type="java.util.Date",就一直报空指针异常。后来我把java实体类中的Date类型导入包改成了java.sal.Date,把.hbm.xml文件里的时间类型改成了type="java.sql.Date"。然后就好了!
[b]org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions.[/b]
是说同时打开了两个会话关联。
结果是因为:
public Student getStudent(Class<?> cls, Serializable pk) {
Session session = null;//获得session
Transaction tx = null;//事务
Student student=null; //对象
try {
session=HibernateUtils.getSessionFactory().openSession();
tx=session.beginTransaction();//开启事务
student=(Student)session.get(cls, pk);
tx.commit();//提交事务
} catch (Exception e) {
e.printStackTrace();
tx.rollback();//回滚事务
}finally{
session.close();//关闭session 当时我把这个关闭session注释了
}
return student;
}
相关文章推荐
- 期末小结
- C#类型转换中关于“四舍六入,五看奇偶”
- 在ie下,a标签包被img的时候,为什么有个蓝色的边线
- python学习笔记之基础二(第二天)
- php 冒泡排序 快速排序
- Yocto tips (1): Yocto 编译后文件放在了哪里 输出文件位置
- DSOJ 中缀表达式求值
- MFC简易计算器
- Hadoop HDFS DN 内核Bug
- Android 之一张图片搞定数据加载进度条+各种颜色效果,任性的不得了
- Android开发必知的50个诀窍之一
- UESTC 653 扫雷 模拟
- 嵌入式外部中断控制编程方法论—比较CC2541(51核)和S5PV210(ARM核)
- Winform自定义控件—Button(下)
- DSOJ Placing apples(放苹果)
- IOS开发之文本复制
- C#设置程序开机自启动,代码别人的,没有经过测试
- c语言的日常心得与总结
- Adobe Animate CC即将发布
- 热备份和冷备份的区别和联系