「已注销」 2011-06-14 11:22
浏览 576
已采纳

关于getHibernateTemplate().update()方法不执行的问题

[size=medium]说明:我进行的是用户信息修改操作.但每次当我将用户信息修改后点提交,刷新页面看当前用户信息,发现用户信息没有更新.
仔细查找,发现TUser的值是传进来了,就是在dao这里出了问题。

在getHibernateTemplate().update();代码后加flush()方法也不管用。或者用hibernate3的merge()方法也不管用。

于是我写了被注解那部分的代码来代替
getHibernateTemplate().update()方法,就可以更新成功。

毕竟如下可以运行的代码写的比较难看,我还是倾向于找到原因,请大家帮忙。[/size]

[code="java"]
mport java.sql.SQLException;
import java.util.List;
import java.util.ListIterator;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.taiji.bean.TUser;

public class UserDaoImpl extends HibernateDaoSupport implements UserDao {

public void saveTUser(TUser user) {
    getHibernateTemplate().save(user);
}

@Override
public void updateTUser(TUser user) {

    getHibernateTemplate().update(user);

// Session session = getHibernateTemplate().getSessionFactory().openSession();
// org.hibernate.Transaction ts = session.beginTransaction();
// try {
// session.flush();
// ts.begin();
// session.saveOrUpdate(user);
// ts.commit();
// } catch (Exception e) {
// ts.rollback();
// } finally {
// session.close();}
}

public TUser findUserByUserPhone(String userPhone) {
    ListIterator<TUser> list = getHibernateTemplate().find("from TUser tu where tu.userPhone='" + userPhone + "'").listIterator();
    if (null!=list && list.hasNext()) {
        return list.next();
    } else {
        return null;
    }
}

@Override
public void removeTUser(TUser user) {
    getHibernateTemplate().delete(user);
}

@SuppressWarnings("unchecked")
@Override
public List<TUser> findTUsers(String query) {
    List<TUser> list = getHibernateTemplate().find(query);
    return list;
}

@Override
public TUser userlogin(String userphone, String password) {
    ListIterator<TUser> list = getHibernateTemplate().find("from TUser tu where tu.userPhone='" + userphone + "' and tu.password='"+password+"' ").listIterator();
    if (null!=list && list.hasNext()) {
        return list.next();
    } else {
        return null;
    }
}

}
[/code]

  • 写回答

1条回答 默认 最新

  • fmjsjx 2011-06-14 12:38
    关注

    看上去像是事务没提交,所以没有更新,请楼主确认事务提交了没有。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 写uniapp时遇到的问题
  • ¥15 matlab有限元法求解梁带有若干弹簧质量系统的固有频率
  • ¥15 找一个网络防御专家,外包的
  • ¥100 能不能让两张不同的图片md5值一样,(有尝)
  • ¥15 informer代码训练自己的数据集,改参数怎么改
  • ¥15 请看一下,学校实验要求,我需要具体代码
  • ¥50 pc微信3.6.0.18不能登陆 有偿解决问题
  • ¥20 MATLAB绘制两隐函数曲面的交线
  • ¥15 求TYPCE母转母转接头24PIN线路板图
  • ¥100 国外网络搭建,有偿交流