hibernate 对象状态问题

select出来的对象放在集合里,在从集合里取出来,对象是什么状态?

可以直接set么?

前两个回答的补充,fudan_ly的回答不完全正确,update的作用是马上触发这个更新。孙宁振的回答也不正确,确实是set引发的update,但是要到事务提交的时候才会触发update sql的执行。

完整回答如下:
假设你的代码是在一个事务中,取出的对象就是Hibernate的代理对象,一旦事务结束,Hibernate会判断当前的对象是否set过新的值,有的话就触发update语句,如果显示的执行update,只不过是提前触发update的执行而已。

先用一个对接接收 A a = (A)list(i);
在用a set 值 再update a 就可以了

是持久态,可以直接set,set的同时就会同步到数据库