Hibernate中session.save()问题

来源:百度知道 编辑:UC知道 时间:2024/06/22 20:33:41
我用sassion.save()存储一个数据对象入表,存不进去,事物也提交了,就是不成功,这时怎么回事啊?相关代码如下:
try{
Session s=dao.getSession();
Transaction tx=s.beginTransaction();
s.save(device);

tx.commit();
return true;
}catch(HibernateException e){
if(tx!=null)
tx.rollback();

return false;
}
我把映射文件中的<generator class="native">改为<generator class="assigned">就好了,但不知道为什么?
native和assigned的具体区别是什么啊?

在用Hibernate的时候,当有表中的主键是库自动生成的时候将使用native。
而当是自己添加的时候则需要改为assigned。
因为assigned是指指定的,分配的,
如果你不赋予他甚麼东西,那麼他是不能实现的.
需要人工,自己把某个东西赋予给它
所以是assigned

晕,这也不知道。。。