知识大全 Hibernate的JNDI名称绑定分析
Posted 知
篇首语:宿命论是那些缺乏意志力的弱者的借口。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Hibernate的JNDI名称绑定分析相关的知识,希望对你有一定的参考价值。
Hibernate的JNDI名称绑定分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Hibernate的JNDI名称绑定是在net sf hibernate impl SessionFactoryObjectFactory程序里面实现的 我来分析一下Hibernate的绑定JNDI的过程
我们获得SessionFactory一般是这样写代码
Configuration conf = new Configuration() addClass(Cat class)
SessionFactory sf = conf buildSessionFactory()
首先是new Configuration()创建一个Configuration 在这个构造器里面进行配置文件(hibernate properties)的读取工作 然后保存到一个Properties对象里面去 和JNDI相关的是这个属性
hibernate session_factory_name hibernate/session_factory
接着调用buildSessionFactory()方法 该方法检查一下配置信息 然后调用SessionFactoryImpl的一个构造器 在构造器里面注意下面两行代码
name = properties getProperty(Environment SESSION_FACTORY_NAME)
SessionFactoryObjectFactory addInstance(uuid name this properties)
调用了SessionFactoryObjectFactory的addInstance方法 并且把自身(SessionFactory的实例)作为参数传递 最后在addInstance方法可以看到如下代码
Context ctx = NamingHelper getInitialContext(properties)
NamingHelper bind(ctx name instance)
instance 就是SessionFactory的实例 通过读源代码 可以清楚的看到Hibernate是在conf buildSessionFactory()的时候通过一系列类方法调用 把创建的SessionFactory实例绑定到配置文件(hibernate properties)中 hibernate session_factory_name属性指定的名称上的 因此可见Hibernate自身是具有JNDI的动态绑定功能的 但是Hibernate需要获得一个SessionFactory实例用于绑定 而这个SessionFactory实例需要我们写代码进行预先创建 并且必须保证该过程要在所有其它要从JNDI上获得SessionFactory实例的程序之前完成
因此对于任何App Server来说 我们都不必去管JNDI名称的绑定过程 只需要保证预先创建一个SessionFactory实例出来就够了 剩下的工作 Hibernate会做的 那么如何确保预创建SessionFactory实例呢 如果是Servlet 可以配置一个初始化的Servlet 只要把
Configuration conf = new Configuration() addClass(Cat class)
SessionFactory sf = conf buildSessionFactory()
cha138/Article/program/Java/ky/201311/28050相关参考
知识大全 利用ThreadLocal绑定Hibernate的session
利用ThreadLocal绑定Hibernate的session 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起
Hibernate基础详细分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Hibernate
知识大全 数据绑定以及Container.DataItem几种方式与用法分析
数据绑定以及Container.DataItem几种方式与用法分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一
分析Hibernate的事务处理机制 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Hibern
怎样利用Hibernate开发Blog实例分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 开
Hibernate中po对象的三种状态分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Hib
JNDIConnection池化 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! JNDI(Jav
知识大全 Hibernate与IBatis的优缺点及可行性分析
Hibernate与IBatis的优缺点及可行性分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Tomcat5.5下的Jndi的配置实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! JNDI
java高级编程:基于JNDI的应用开发 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 基于JN