您的位置:程序门 -> java -> 框架、开源



hibernate save()和delete()函数不起作用的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


hibernate save()和delete()函数不起作用的问题
发表于:2008-02-08 00:20:56 楼主
这个问题比较初级,但是因为我确实是刚刚接触hibernate,本来只是想利用它的数据库orm功能给自己省点事的,可是发现有一个dao类中的delete和save方法不起作用

我有两个类似的表,而且更新的方法都是一样的,函数代码都是直接copy改名就行
但是其中一个表的增删没有问题,另一个表就不行,数据库操作相关代码全都是hibernate自己生成的
mapping文件也一样,所以应该不是我的代码的问题,而且单步跟踪到save函数里面去的时候,要被保存的对象一切正常。

现在的一个现象是:调用了该dao类的方法之后,没有例外抛出,log显示save   successful,但是数据库里没有新纪录。用其他方法再插入数据后发现自增的id已经不连续。

即插入行为已经使得mysql的表中id自增,但是数据没有插进去。id已经设置为了identity。

因为开发的机器不能上网,所以没法贴代码,请各位大牛帮我想想可能是啥原因?
发表于:2008-02-10 21:11:171楼 得分:0
当你调用

session.save()和session.delete()之后

要记得   session.flush()


session.close()不会帮你session.flush()的。


你可以检查你的dao类中对应的delete和save方法的实现,   看看里面对session的这两个方法调用的时候flush了没有?
发表于:2008-02-12 11:19:162楼 得分:0
是否配置了事务管理?
发表于:2008-02-15 13:11:053楼 得分:0
刷新缓存
发表于:2008-02-15 13:17:144楼 得分:0
事务的问题。估计lz是用的myeclipse生成的代码,但是没有配置事务。
发表于:2008-02-15 13:18:515楼 得分:0
执行完之后一定要session.flush();
发表于:2008-02-26 11:15:296楼 得分:0
session.flush();


快速检索

最新资讯
热门点击