没做try?
捕捉个异常出来看看

解决方案 »

  1.   

    我一边读数一边更改后作为新的记录写回去,,错也不报,,数也没写入,查是可以查出来了,怎么回事呀,闷
    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{ 关闭}
      

  2.   

    Query q=null;
     
     q =session.createQuery(" Form Fuser");这句写错了,改为这样
              list=q.list();
    数是读出来的了
      

  3.   

    发现了重大的东西,同一个SESSION里的数据是更改,不能做为新记录增加
      

  4.   

    session.evit()强制hibernate和数据库同步
      

  5.   

    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(); }
      

  6.   

    我明白你的意思了,你是要取出来,更改个属性再做为新记录插进去??假设你的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{ 关闭}