你的user表主键是sequence生成的吗?save方法执行insert之前会先查询sequence值来作为你表的主键键值(select nextval ('hibernate_sequence')
),应该是主键键值没有查询到出错了,所以没有执行insert
),应该是主键键值没有查询到出错了,所以没有执行insert
解决方案 »
- javaWeb->hql->in这个怎么做才是对的呀
- 怎样手写ajax调用服务端的方法,就像 dwr一样
- 请教各位,在局域网内通过mac地址获得IP地址 怎么用java实现 在线等!不好意思,分不多
- servlet返回xml格式字符串?
- 请高手帮忙解决一下Struts2里面的request.getrequestdispatcher问题
- 通过oracle连接池实现类获取的Connection需要关闭吗?
- 我有个网站要放到英国去,请问谁知道英国那个公司能做托管吗?
- 问题:struts中FindForward("XXX")到在哪里找路径?
- Remote接口和Home接口有什么区别?应该用哪个?
- 天猫商城一个很复杂的json串,看看大家都是怎么解析的,奖赏100积分
- MyEclipse如何对Hibernate进行逆向工程
- 急```` 学j2ee一下面的水平,在北京大概月薪是多少?
大家帮帮忙
如果能解决这个问题 我把所有的分都给出去
我原来都是这样的
那么执行完save后,还要执行session.flush()或者提交事务才能提交如果设置autocommit=false
那么只有提交事务,才能提交到数据库
俩个程序的代码几乎完全一样
Dao中也没有事务提交的代码,包括session.flush();
并且如果设置完autocommit之后仍然需要提交事务,那么自动提交还有什么用处阿
你以前的如果这样那么你贴出来看看,不会存在这种情况,呵呵如果用spring的getHibernateTemplate.save()等方法的话,就无需flush(),因为getHibernateTemplate.save()里面封装了session.flush()方法,可以看一下HibernateTemplate的源码。