public boolean updateByID(Session session, Tblinkinfo entity) { 
try { 
session.update(entity); 
return true; 
} catch (Exception e) { 
log.writeTxtLog(log.LOGTYPE_DB_ERROR, CLASS_NAME + "-update:" 
+ e.getMessage()); 
return false; 


还有一个hibernate的update方法entity的值我已经打印出来 就是自己填写的值 怎么到了最后不update那(已经把事物提交了)

解决方案 »

  1.   

    这是写的方法在 servlet中已经提交了 你看看
    // Update
    info = getDataFromHTMLPage(request, session);
    t = session.beginTransaction();
    if (infodao.updateByID(session, info)) {
    result = "doupdate(true);";
    log.writeDBLog(session, strIP, strUserName,
    log.LOGTYPE_USER_OPERATE, "Tblinkinfo"
    + " Update Succ");
    log.writeTxtLog(log.LOGTYPE_USER_OPERATE, "update"
    + " succ");
    t.commit();
    } else {
    result = "doupdate(false);";
    log.writeTxtLog(log.LOGTYPE_USER_OPERATE, "update"
    + " Fail");
    t.rollback();
    }
      

  2.   

    还有一个hibernate的update方法entity的值我已经打印出来 
    就是自己填写的值 怎么到了最后不update那(已经把事物提交了)你确定你的数据库中存在该条记录,
    传入的entity必须是从数据库中取出来的,
    修改后传入。没修改成功,是否报异常了?
      

  3.   

    getDataFromHTMLPage(request, session);
    这不有个这样的方法么 我从前台获取到的 确实是修改后的值 但是调用update就是没有更新数据库
      

  4.   

    update方法只是把数据持久化了 并没有更新到数据库 应该怎么解决那?
    如果不写hql语句 能更新掉么?update