Hibernate 中getSession().save() 保存不到数据库 解决办法
来源:互联网 发布:ubuntu创建一个文件夹 编辑:程序博客网 时间:2024/05/21 07:01
背景:
普通的java项目,单独添加hibernate框架,不添加其他任何框架的情况下。
分析:
没有使用事务管理模式,myEclipse的反向工程生成的dao的save方法
public void save(Cigarette transientInstance) {
log.debug("saving Cigarette instance");
try {
getSession().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}
并不能说这个没有添加事务管理模式,只不过这么写他有的时候灵有的时侯不灵,那我们改为显示的提交事务就成了!
public void save(Cigarette transientInstance) {
log.debug("saving Cigarette instance");
Transaction transaction= getSession().beginTransaction();
try {
getSession().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
transaction.commit();
getSession().flush();
getSession().close();
}
结论:
hibernate成功执行sava且不报错后,数据库中没有数据的原因:hibernate 必须显示的声明提交事务
JDBC默认的是自动提交
Hibernian默认的是手动提交,必须开启事务,手动提交,否则数据库中没有保存的记录:
Transaction transaction= getSession().beginTransaction();
getSession().save(transientInstance);
transaction.commit();
以上总结了网上的资料,自己实践得出结论
普通的java项目,单独添加hibernate框架,不添加其他任何框架的情况下。
分析:
没有使用事务管理模式,myEclipse的反向工程生成的dao的save方法
public void save(Cigarette transientInstance) {
log.debug("saving Cigarette instance");
try {
getSession().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}
并不能说这个没有添加事务管理模式,只不过这么写他有的时候灵有的时侯不灵,那我们改为显示的提交事务就成了!
public void save(Cigarette transientInstance) {
log.debug("saving Cigarette instance");
Transaction transaction= getSession().beginTransaction();
try {
getSession().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
transaction.commit();
getSession().flush();
getSession().close();
}
结论:
hibernate成功执行sava且不报错后,数据库中没有数据的原因:hibernate 必须显示的声明提交事务
JDBC默认的是自动提交
Hibernian默认的是手动提交,必须开启事务,手动提交,否则数据库中没有保存的记录:
Transaction transaction= getSession().beginTransaction();
getSession().save(transientInstance);
transaction.commit();
以上总结了网上的资料,自己实践得出结论
- Hibernate 中getSession().save() 保存不到数据库 解决办法
- Hibernate 中getSession().save() 保存不到数据库 解决办法
- Hibernate 中getSession().save() 保存不到数据库 解决办法
- Hibernate 中getSession().save() 保存不到数据库,不报错
- hibernate save getSession().save 返回值
- hibernate save没有保存数据到数据库
- hibernate save没有保存数据到数据库
- Hibernate 中save方法运行成功之后却没有保存进数据库的原因
- getHibernateTemplate().save();不能保存数据到数据库解决办法
- hibernate save成功却没有保存到数据库的错误
- hibernate+mysql save数据到数据库乱码解决办法
- Hibernate的save方法不能进行数据库插入的解决办法
- 注册时无法写入数据库getSession().save(transientInstance)
- SSH整合, Hibernate正确执行了save方法,但是数据没有保存到数据库
- SSH之Hibernate save或update方法已经执行,但是数据库没保存数据
- hibernate中的session.save无法保存数据
- Hibernate数据保存——Session.save
- Hibernate save方法无法保存的问题
- 二维数组的动态分配及参数传递
- 限制同一时间只能一个用户登录
- oracle 死锁问题
- vb.net 获取汉字首字母的办法
- rpm dpkg 用法比较
- Hibernate 中getSession().save() 保存不到数据库 解决办法
- uboot-2009.01的start.S详细注解及分析
- 用js模拟的Map
- 【Linux菜鸟成长记(五)】Ubuntu 10.04 设置中文输入法
- 点评:XBRL技术规范 - 第3部分:变量规范 中的一句话翻译
- Hibernate Id Generator的解释 .
- Linux下安装配置SVN服务器
- C语言的全部总结
- JAVA学习笔记(二十八)