我正在写一个Eclipse插件,用于从中央数据库加载资源。我想用Hibernate来访问该数据库。如何从Eclipse插件使用Hibernate?
那么如何将这个作为一个依赖添加到我的插件项目?我试过谷歌,但只能通过插件来编辑Hibernate配置文件。
我正在写一个Eclipse插件,用于从中央数据库加载资源。我想用Hibernate来访问该数据库。如何从Eclipse插件使用Hibernate?
那么如何将这个作为一个依赖添加到我的插件项目?我试过谷歌,但只能通过插件来编辑Hibernate配置文件。
你可以坚持使用标准的hibernate教程,比如hibernate.org或Gaven Kings提供的文档,在eclipse rcp项目中使用hibernate。
最简单的方法是将您的Hibernate相关代码和您的配置包含在您当前开发的插件中。
因此你的插件必须依赖于jar文件,每个hibernate项目都依赖于它。你也可以通过一个独立的插件来提供这些库,并简单地导出它们。
但是您必须记住,hibernate会大量使用反射,并且持久性管理器必须可以访问持久化类。
还有一个非常好的教程,用于集成休眠作为一个单独的插件http://entwickler.de/zonen/portale/psecom,id,101,online,1082,.html,但不幸的是它只在德国。
我会创建一个hibernate插件,它公开所有hibernate jar文件并导出包含的类。然后我的配置和数据将在另一个取决于休眠的插件中。然后,由于hibernate明天使用反射,因此Hibernate插件需要能够从依赖它的插件中加载类。为此,您需要使用Eclipse-BuddyPolicy指令。 Check this documentation on classloading on eclipse that mentions BuddyPolicy
我建立了一个使用这种技术的Kodo JDO插件,它工作得很好。从我的Manifest.mf中抽取样品
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Solarmetric Kodo
Bundle-SymbolicName: com.solarmetric.kodo
Bundle-Activator: com.solarmetric.kodo.KodoPlugin
Bundle-Localization: plugin
Require-Bundle: org.eclipse.core.runtime
Eclipse-AutoStart: true
Eclipse-BuddyPolicy: global
Export-Package: com.solarmetric.ant,
com.solarmetric.apache.commons.collections,
com.solarmetric.apache.commons.collections.buffer,
com.solarmetric.apache.commons.collections.collection,
com.solarmetric.apache.commons.collections.functors,
com.solarmetric.apache.commons.collections.iterators,
com.solarmetric.apache.commons.collections.keyvalue,