初学hibernate,书上说每个EntityEntry对应一个实体类实例,保存了该实体类的状态信息。
而且还多文章中都说existsInDatebase等的一些内容,这都是EntityEntry中的一些属性吧?所以老想debug的时候看看这个EntityEntry是个什么样子,我得怎么查看到啊?

解决方案 »

  1.   

    EntityEntry, EntityKey, Cache..Hibernate源码研究碎得(13)EntityEntry的类方法。
       调用方法就可以进入了。。
      

  2.   

    呵呵,还是不太会用。
    EntityEntry e = new EntityEntry(
        status,
        loadedState,
        rowId,
        id,
        version,
        lockMode,
        existsInDatabase,
        persister,
        session.getEntityMode(),
        disableVersionIncrement,
        lazyPropertiesAreUnfetched
     );
    这些参数都是做什么用的啊?
      

  3.   

    EntityEntry是从属于SessionImpl(Session接口的实现类)的内部类,每一个EntityEntry保存了最近一次与数据库同步的实体原始状态信息(如:实体的版本信息,实体的加锁模式,实体的属性信息等)。除了EntityEntry结构之外,还存在一个结构,这个结构称为EntityEntries,它也是SessionImpl的内部类,而且是一个Map类型,它以”key-value”的形式保存了所有与当前session实例相关联的实体对象和原始状态信息,其中key是实体对象,value是EntityEntry。
      

  4.   

    怎么都在研究框架啊。我就讨厌SSH框架。