注册 登录
编程论坛 J2EE论坛

数据没有真正插入到数据库中,为什么?

susan001983 发布于 2007-09-17 11:53, 1201 次点击
我用的是Hibernate,
Console面板中已经出现了insert语句,但为什么没有真正插入到数据库中呢?

查出来的结果也是空的。
12 回复
#2
Gramary2007-09-17 11:56
也没有报错吗??
` 这个我好像以前也碰到过
不过具体不记得了
你能将的详细点吗??
#3
susan0019832007-09-17 12:02
对,没有报错。

只是查看数据库时,里面是空的。

但显示出来的是有数据的。


另外我还做了一个查询,查询出来的结果,全是空。

我这么说不知道你明不明白。
#4
susan0019832007-09-17 13:07
Transaction tr=cbmdao.getSession().beginTransaction();
cbmdao.save(cb);
tr.commit();

是这么写吗?还是没有出来呀。
#5
Gramary2007-09-17 13:44

你的意思是
数据插入进去的全部是空吗??
那ID是空的吗??

#6
susan0019832007-09-17 13:56
哦,我又加了个刷新,就出来了。现在能加到数据库里了。
#7
glamey2007-10-22 19:52

还要好好的看看HIBERNATE了。当tx.commit()时候,还没把数据给插入数据库呢,当执行session.fluse()的时候,才把数据对象从游离状态编程持久状态。

#8
blackboy2007-10-25 16:53

打个语句看你的Syetem.out.print("ssssss")看看你的查询语句执行了没有 再看看你的数据库是否连接上了

#9
chufanggang2007-10-29 17:59
插到内存里面去了...没有 commit() 一下
那是不算提交的
#10
黄袖标2007-11-07 18:15
save要显示的commit,update不要。
#11
DasayHaoEr2007-11-07 18:30
你把控制台输出的那条语句完整地copy 到实际的数据据中去查询一下,看是不是一样没有结果.
#12
支离破碎2007-11-07 23:30
flush一下
#13
时空之蕊2007-11-07 23:46
建议把transaction的日志级别打为debug,如果commit时发生了commit事件,那么不管flush不都会持久化到数据库的
1