一个实体类
public class User{
private String name;
private String password;getter and setter.........
}
一个类继承于User,增加一个属性public class SuperUser extends User{
private String oper;getter and setter
}
SuperUser su = new SuperUser();
su.setName(...);
su.setPassword(...);
su.setOper(...);User u = su;//可以确定u里的name和password都给到值了session.update(u);//但是update却不起效果,我已经commit了为了代码的简洁没有写出来

解决方案 »

  1.   

    User类里面没有主键属性吗?如果没有是更新不了的,因为它是根据主键而确定你是更新的哪一个对象的。所以没有主键是识别不了对象从而更新不了。
      

  2.   

    同意一楼的见解~lz添加一个id字段~然后在.hbm文件里设定该字段为主键就好了~
      

  3.   

    hibernate的pojo建议不要用继承其他pojo,记得好像有bug,容易出错要用继承的话,还是都继承另外的abstract类比较保险
      

  4.   

    你的主键是什么啊?
    也就是说对象主键在数据库中一定要存在
    否则就不会起作用
    有时间去看看hibernate中的对象几种状态吧
      

  5.   

    主键呢?
    要指定主键的。除非你用create方法。
      

  6.   

    应该是hibernate的MODEL没有配置好。