执行了getHibernateTemplate.save(user)后,控制台有hql语句输出,显示已经将数据存到数据库了,也没有抛出异常,但是去oracle数据库查的时候,压根就没有数据。请问是怎么回事?就下面这段代码:public void save(User user) { getHibernateTemplate().save(user); }
解决方案 »
- Java发送传真
- ECLIPSE如何安装Axis插件
- websphere服务器中的servlet获取servlet执行结果异常
- <html:select>取值问题,急!!!!!各位朋友进来帮下忙,不甚感激!!!!
- GlassFish的JPA查询数据的问题
- 高分求购Hibernate的完整例子,包括配置文件和说明,只要能跑通就给分
- hibernate参数查询问题,50分相送!
- Java如何获取系统信息?
- 基于lucene的elasticsearch搜索,river增量导入数据
- 求教问题:java.lang.OutOfMemoryError: unable to create new native thread
- struts2整合jfreechart1.0.14 中文显示问题
- 求类似订单id的解决办法,做过项目的朋友过来看看
我又写了下面面的查询语句:
String hql="from User as u where u.userName=?";
List list = this.template.find(hql,user.getUserName);
能查出来刚才插入的数据,但是这个数据并没有存入数据库里面。
你这里需要手动的commit一下把
Transaction tran=session.openTran.....
getHibernateTemplate().save(user);
tran.commit();
另外看看你是不是把测试数据库和开发数据库搞混了。
<property name="hibernate.connection.autocommit">true</property>
但是为什么我的其他的工程里的hibernate.cfg.xml并没有这句话却并没有出现这个问题呢?
要么开启Hibetnate 自动提交功能,
要么手动提交. <session-factory >
<property name="hibernate.connection.autocommit">true</property>....
hibernate没有使用spring事务代理的时候,默认不是自动提交的,
你这里需要手动的commit一下把
Transaction tran=session.openTran.....
getHibernateTemplate().save(user);
tran.commit();
你这里需要手动的commit一下把
Transaction tran=session.openTran.....
getHibernateTemplate().save(user);
tran.commit();
这个说了对的 你要姑SPRING配置文件要设置 自动提交的 估计你没有设置
<property name="hibernate.connection.autocommit">true</property>
果然可以插入到数据库了~