•••••••••••••••••••••
•Hibernate获取一个实例的数据时 是将其数据从数据库中检索出来 然后调用该实例的set方法将其设置为该实例的值的
举例来说
1 public class Number 2 { 3 private int id; 4 5 private int num; 6 7 ... 8 9 public void setNum(int num) 10 { 11 this.num = num + 1; 12 } 13 }
假设在数据库中该num的值为1;
那么在执行 Number number = (Number) session.get(Number.class, id);
则number.getNum 的值为 2;
当你完成操作调用transaction.commit(); 是很有可能就会用当期的值来更新数据库 这样 num的值就由有来的1变为2了
这很可能不是你要的结果 所以不能对Bean类的setter方法进行 取巧的操作!