我是想问...同一个对象为什么可以插入多次...不会覆盖吗?
比如说...Person p = new Person();
p.setName("liu");
session.save(p);
当第2次我在插的时候.
p.setName("wang");
session.save(p);
这样2个对象都插进去了...表中会有2条数据...
2个p是同一个对象...第2次我把wang插进去不会影响第一条数据吗?

解决方案 »

  1.   

    我把表的主键设置成native的.就是id不一样杂同一个对象能插好几次?
    id不一样能算同一个对象吗?在事务提交以前,你可以任意修改name的值,只不过他不会写入数据库而已。最后session.flush()的时候保存最近set进来的。如果你想修改的话必须先找这个对象。
      

  2.   

    Hibernate每次在做保存的时候,都为你生成了一个新的主键
    只要主键不一样,就是不同的记录
      

  3.   

    hibernate设置成native,是对应 表中主键的自动增长,主键是自动增长的,所以就吧会有相同的数据了,
    你调用了session.save(p); 肯定是可以插进去的...