日期:2014-05-20  浏览次数:20768 次

关于hibernate的update,求解
小弟用hibernate写了个账户密码修改查询,再看例子的时候发现在dao层的update段代码

以下是update段代码
-------------------
//修改对象
public static void update(User user)
{

try{
session =HibernateUntils.getSession();
tx =session.beginTransaction();
session.update(user);
tx.commit();

}catch(HibernateException e)
{
e.printStackTrace();
SessionClose.close(session, tx);
}
}
----------------------
我在test.class
----------------------
User a = new User("shaw","warpten");
User b = new User("Alice","900518");
User c = new User("Tom","Tom");
User d = new User("Jack","Jack");
User e = new User("Tony","Tony");
User f = new User("Shark","Shark");

// UserDao.save(a);
// UserDao.save(b);
// UserDao.save(c);
// UserDao.save(d);
// UserDao.save(e);

UserDao.update(f);
----------------------------
发现数据库里没有任何变化,请问怎么回事呀,


还有,不如我想User c的密码,该怎么写啊?
还有session.upadte(Object obj)和session.update(String s,Object obj);
请问有什么区别呀  

麻烦了!

------解决方案--------------------
你写的update是只能更新一个User对象
而你测试代码里面的UserDao.update(f);用的参数f是一个刚刚创立的User对象,所以数据库没有任何变化
你可以先从数据库查询出来一个User然后更新这个User的密码,然后update这个对象
------解决方案--------------------
探讨
还有,不如我想User c的密码,该怎么写啊?