关于 Hibernate 中的“脏数据”、“脏对象”

  今天在阅读《精通 Hibernate》的时候读到了这样两个词“脏对象”、“脏检查”,想来想去,从字面和上下文来看都无法猜出其确切意义,于是去问百度了。在百度搜索“脏对象”,发现没有适合的,于是怀疑这个名字是翻译过来的,搜索“Hibernate dirty object”,结果是没有搜出确切匹配的,不过我见到了个可能可以解答我的问题的新词“脏数据”,该项目是个 pdf 文件,将其下载后打开,看到里边这样写:

  何谓脏数据(Dirty Data)?
  这里的“脏”可能有些误导,脏数据并非废弃或者无用的数据,而是指一个数据对象所携带的信息发生了改变之后的状态。
  如我们从数据库中读取了一个 TUser 对象:
  Transaction tx = session.beginTransaction();
  TUser user 
= (TUser)session.load(TUser.classnew Integer(1));
  
// 此时 user 对象处于有数据库读出的原始状态
  user.setAge(30);
  
// 此时 user 对象所携带的信息发生了变化,成为了所谓的“脏数据”
  tx.commit();

  看到这里算是明白了,既然“脏数据”是属性被修改了的对象,那么“脏检查”就大概是检查一个对象是否被修改了吧。
posted on 2005-09-05 16:31  rocman  阅读(2342)  评论(5编辑  收藏  举报