`
sunrenen
  • 浏览: 40222 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
上一篇花了很长时间梳理了下SessionImplementor接口与Hibernate里其它关键类和接口的关系并画出类图,最后得出"集万千宠爱于一身的SessionImpl"标题.本篇将接着往下走,下面先看第二句 EntityPersister persister; 声明了一个变量persister.(写到这有两种选择,一是像对SessionImplementor一样对这个EntityPersister接口好好研究一番,这样的话研究的很细,不过一个突出的问题就是由get方法牵连出很多点,分散精力;另一选择是把这个EntityPersister放在当前DefaultLoadE ...
上一篇重点介绍了LoadEventListener里的LoadType这个static final类及其在LoadEventListener里的定义的几个对象后,简单 地介绍了DefaultLoadEventListener里的三个static final属性,现在在这篇中将重点研究这里的onLoad方法. 进入onLoad方法后,第一句就 ...
LoadEventListener中的LoadType 接着上一篇,我们来看方法fireLoad(event, LoadEventListener.GET); 第一个参数就是前面已经准备好的LoadEvent对象,我们重点看下第二个参数. 这个fireLoad的签名是这样的: fireLoad(LoadEvent event, LoadType loadType) 追着看下LoadType的定义,有点吓一跳,这个类是在接口LoadEventListener中定义的一个static final类型的Class,这还真是第一次见,以前见过在普通类中定义或static或非static内部类的, ...
从源码层面来看load与get的区别(二): Hibernate源码研究碎得(5) 接着上一篇问题的引入,本篇中我们先从Session里我们很熟悉的get(Class entityClass, Serializable id)起步.小菜这用的例子是Hibernate里自带那个, 程序的入口为下面的Java语句: person = (Person) session.get(Person.class, 1L); 在DB中已事先插入下面一条记录: PERSON_id age firstname  lastname   1                0         Foozy   B ...
在写以前先跟着源码的执行大致地看了看这两个方法所涉及的东西,一下子感觉到对这两个方法的比较将对以后session里的众多方法乃至整个Hibernate的研究都会起到很大的促进作用,由于这两个方法所涉及的东西很多,估计能写出10篇左右的Blog,我也就不用担心这些天写Blog没什么要出手的了. ************************************************** 源码级地来看load与get的区别(一): load and get: 引用<Java Persistence with Hibernate>中的描述,我们得知load与get方法有如下 ...
1, 为什么在new一个Configuration对象时要调用另一个构造方法呢?而另一个构造方法里接收一个传来的SettingsFactory的参数,难倒说在new一个Configuration时还可以另行指定自造的SettingsFactory?这就像Configuration类里的configure()方法那样?调用无 ...
谢谢Hibernate. 鼓捣Hiberante的源码有一段日子也,回过头来看看这段路,不由地想起"感触颇多"这个词了:从刚开始的"为伊消的人憔悴"到现在的渐入佳境,再往前看尽管还有很长的路要走,不过现在很想说"谢谢Hibernate!" 看了Hiberate源码,我不再浮躁.在Java的学习/应用路上,是有了点点收获,有了这些收获后,也不知道怎么回事,心就静不下来,这个了觉得容易,那个也觉得简单,可要真真动手去做时却发现自己的product漏洞百出!于是恶性循环地怀疑一切,信心没有,学习/生活中情绪也是一踏糊涂. 还好在情绪一踏 ...
1, 为什么tables用的是TreeMap这个类呢?而别的大都用的是HashMap 2, Environment.getProperties()每次调用都是新建一个Properties对象,把这个对象传对调用者.这样做用什么特殊的好处呢? 3, 怪,怎么会出现一模一样的两行LogInfo呢? [2008-05-05 09:16:36,750] INFO  org.hibernate.cfg.Environment Hibernate 3.2.6 [2008-05-05 09:16:36,750] INFO  org.hibernate.cfg.Environment Hibernate ...
1, Collections.unmodifiableMap( new HashMap(0) );           看到了这样的语句,不知道个unmodifiableMap在实际中有什么用?          是说整个执行过程中,某一个变量所指向的Instance没有是不可modifiable的吧?而不是这个Map中的具体内容. 这样再结合应用的上下文就通了. 2,Hibernate中有个SecondPass的概念,这个是干啥用的?       看源码时,它的实现类中有这样的关系:            接口SecondPass有两个直接实现类:            ...
Global site tag (gtag.js) - Google Analytics