读书人

Spring、OSGi调整Hibernate 一

发布时间: 2012-10-31 14:37:31 作者: rapoo

Spring、OSGi整合Hibernate 一
? ? ? ?? 查询了很多网上的帖子,主流的整合方式大体为4种。前两种不必说了,没什么扩展性,不予考虑。第三种采用Eclipse-RegisterBuddy方式(官方的整合方式)和第四种则采用Eclipse插件的扩展点,这样种都不能脱离Equinox实现,最后还是决定用自己的一套方式。
??????? 先来说说整合Hibernate的关键之处。其实用OSGi整合Hibernate很简单,但要通过Bundle方式做到可以扩展新的持久化层面的东西(比如添加新的表和操作)就比较费事了。因为Hibernate在初始化时根据注册的实体类创建SessionFactory,这样当有新的实体类添加进来时就要创建新的SessionFactory,这样系统中出现两个甚至多个SessionFatory会导致一系列的问题。显然整合Hibernate关键就是解决实体类注册与SessionFactory创建的问题。
????? ? 我的具体思路如下。
??? ??? 首先将Hibernate单独多为一个Bundle(wanged_commons_hibernate)以便提供其他Bundle所需类包。
??????? 然后建立一个用于提供实体注册接口的Bundle(wanged_core_persistent_entity_register),代码如下:
2 楼 jncz 2008-04-03 有几个问题,想请教一下,当其他任何bundle实现了wanged.core.persistent.entity.EntityRegister接口之后,能否自动更新sessionFactory,而不重启整个应用,

读书人网 >操作系统

热点推荐