hibernate的一个配置问题

feiling111222 2009-04-13 11:32:55
一个User类,对应着数据库中的user表,它有id,name,password三个属性,现在我要更新一个用户的password,但是我传递给Hibernate的update的对象只有用户的id和password两个属性,我该怎么写配置文件,才能让该用户的name不为空啊???如果直接用update的话NAME就为空了
...全文
54 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
feiling111222 2009-04-13
  • 打赏
  • 举报
回复
解决了,把dyamic-update = true就可以了
zm_hs 2009-04-13
  • 打赏
  • 举报
回复
通过id得到这条记录的对象后,直接修改密码就OK了,用update的话name是不会为空的,估计你是搞错了
feiling111222 2009-04-13
  • 打赏
  • 举报
回复
dyamic-update是这个属性吗?怎么设置呢
llcmb 2009-04-13
  • 打赏
  • 举报
回复
你是更新又不是插入一条新数据,name怎么会为空,我估计你搞错了
zhj92lxs 2009-04-13
  • 打赏
  • 举报
回复
也可以使用hql的方式
String hql = "update User set User.password = :password where User.id = :id";
Query query = session.createQuery(hql);
fengfeng925 2009-04-13
  • 打赏
  • 举报
回复
是这样,呵呵<property name="name" update="false"/>
fengfeng925 2009-04-13
  • 打赏
  • 举报
回复
你配置文件里面不是有个这个吗
<property name="name" />
加个字段,改成这样,这样更新后就不为null了
<property name="user_id" update="false"/>
xnjnmn 2009-04-13
  • 打赏
  • 举报
回复
//不是插入修改应该不会吧
/**
* 修改用户密码
* @param instance
*/
public void updatePassword(VO instance) {
Transaction tx = null;
Session session = null;
try {
session = getSession();
tx = session.beginTransaction();

//用这个
session.saveOrUpdate(instance);
tx.commit();

log.debug("update successful");
}

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧