HIBERNATE同时插入多个表,事务处理, 没做try?捕捉个异常出来看看 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我一边读数一边更改后作为新的记录写回去,,错也不报,,数也没写入,查是可以查出来了,怎么回事呀,闷try{Session session;session = HibernateFactory.currentSession();Transaction tx = session.beginTransaction(); Fuser user=new Fuser();List list;list=session.createQuery(" Form Fuser");for(int i=0;i<list.size();i++){ user=(Fuser)list.get(i); user.setRq("更改个日期做为新增记录"); session.sava(user); session.flush(); tx.commit();tx.commit();}catch(HibernateException ex){System.out.println(ex.toString);}finally{ 关闭} Query q=null; q =session.createQuery(" Form Fuser");这句写错了,改为这样 list=q.list();数是读出来的了 发现了重大的东西,同一个SESSION里的数据是更改,不能做为新记录增加 session.evit()强制hibernate和数据库同步 water = listJls_ypspf.ListJls_ypspf(wheres ,session); // //水主表得到一个表值 for (int i = 0; i < water.size(); i++) { obj = (FJls_ypspf) water.get(i); session.saveOrUpdate(obj); key.setDwbh(dwbh); key.setRq(rq); obj.setJlsYpspf(key); tx.commit(); } 我明白你的意思了,你是要取出来,更改个属性再做为新记录插进去??假设你的user类的主键是数据库生成的叫id,增加个方法就好了,user.setId(null).因为hibernate是根据unsave-value的值来判断是新增还是更新,通过set主键为null,来强制新增改成这样:List list;list=session.createQuery(" Form Fuser");for(int i=0;i<list.size();i++){user=(Fuser)list.get(i);user.setRq("更改个日期做为新增记录"); user.setId(null); //假设id为user主键,根据你自己的情况修改session.sava(user);session.flush();tx.commit();tx.commit();}catch(HibernateException ex){System.out.println(ex.toString);}finally{ 关闭} 求助:java.io.IOException: Missing config file~急 请问为什么这样写 关于Struts和Spring的集成问题? sql group by 问题,谁能帮小弟解决一下 使用getHibernateTemplate().find的方法 10 关于接口的问题 struts!!!options 问题!!! 招聘信息系统员 直接关注jakata网站给得struts例子,很多疑惑~新手得问题 ssh中添加数据可以直接添加指定数据吗 不经过action 直接用方法向数据库表插入数据可以吗 读xml文件报错 javamail 收到邮件主题乱吗怎么处理,请求帮忙?? 急
try{
Session session;
session = HibernateFactory.currentSession();
Transaction tx = session.beginTransaction();
Fuser user=new Fuser();
List list;
list=session.createQuery(" Form Fuser");
for(int i=0;i<list.size();i++){
user=(Fuser)list.get(i);
user.setRq("更改个日期做为新增记录");
session.sava(user);
session.flush();
tx.commit();
tx.commit();
}catch(HibernateException ex){
System.out.println(ex.toString);
}finally{ 关闭}
q =session.createQuery(" Form Fuser");这句写错了,改为这样
list=q.list();
数是读出来的了
obj = (FJls_ypspf) water.get(i);
session.saveOrUpdate(obj);
key.setDwbh(dwbh);
key.setRq(rq);
obj.setJlsYpspf(key);
tx.commit(); }
改成这样:
List list;
list=session.createQuery(" Form Fuser");
for(int i=0;i<list.size();i++){
user=(Fuser)list.get(i);
user.setRq("更改个日期做为新增记录");
user.setId(null); //假设id为user主键,根据你自己的情况修改
session.sava(user);
session.flush();
tx.commit();
tx.commit();
}catch(HibernateException ex){
System.out.println(ex.toString);
}finally{ 关闭}