45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:怎么样实现基于hibernate的das研究功能?

怎么样实现基于hibernate的das研究功能?

2016-08-26 06:37:12 来源:www.45fan.com 【

怎么样实现基于hibernate的das研究功能?

按公司的计划基于hibernate实现了das,这里写的系列blog当然是不能写DAS实现过程的,那是公司机密。

本系列blog主要是对hibernate的实现原理做一个分析,这个对以后工作中的回忆和新功能实现是非常有用的。

本文主要分析hibernate的sessionFactory的build过程。

1)new Configure().buildSessionFactory();

Configuration.java 要做的事情就是 读出 mapping配置(.hbm.xml) 和 setting配置(.cfg.xml)

2) SessionFactoryImpl.java

要做的事情就是 设置identifierGeneration/ Named Query/ cache strategy。然后最主要的,就是

构造一个 EntityPersister。

3)org.hibernate.persister.entity.AbstractEntityPersister(请f4查看这个类的type hierarchy!)

GavinKing对这个类写的说明是: Basic functionality for persisting an entity via JDBC
through either generated or custom SQL。 在Class方面,它实现了ClassMetaData接口,在对象方面,

它有一个EntityMetaModel属性。 类元数据/实体元模型,两大meta都在这个类中,可以明白这个基本是

Hibernate 最重要的一个文件。它的425行有这样一段:

this.entityMetamodel = new EntityMetamodel( persistentClass, factory );

4)EntityMetaModel.java的基本所有的 元模型都是用persistentclass来获得的。另外它还持有一个属性:

tuplizerMapping。tuplizerMapping是一个map,包括了从 EntityMode到tuplizer的 mapping。

tuplizerMapping是实现DAS功能的最主要的扩展点。


本文地址:http://www.45fan.com/a/question/67726.html
Tags: 基于 hibernate das
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部