Как использовать Hibernate из подключаемого модуля Eclipse? - PullRequest
3 голосов
/ 11 декабря 2008

Я пишу Eclipse плагин, который загружает ресурсы из центральной базы данных. Я хотел бы использовать Hibernate для доступа к этой базе данных.

Так как бы мне добавить это как зависимость к моему проекту плагина? Я пробовал Google, но узнал только о плагинах для редактирования файлов конфигурации Hibernate.

Ответы [ 2 ]

1 голос
/ 11 декабря 2008

Я бы создал плагин hibernate, который выставляет все jar-файлы hibernate и экспортирует содержащиеся в нем классы. Моя конфигурация и данные будут в другом плагине, который зависит от спящего режима.

Тогда, поскольку hibernate использует отражение как завтра, плагин Hibernate должен иметь возможность загружать классы из подключаемых модулей, которые зависят от него. Для этого вам нужно использовать директиву Eclipse-BuddyPolicy. Проверьте эту документацию по загрузке классов в затмении, в которой упоминается 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,
0 голосов
/ 11 декабря 2008

Вы можете придерживаться стандартных руководств по hibernate, таких как документация, предоставленная на hibernate.org или в книге Gaven Kings, для использования hibernate в комбинации в проекте eclipse rcp.

Простейшим способом было бы включить ваш связанный с Hibernate код и вашу конфигурацию в плагин, который вы сейчас разрабатываете.

Поэтому ваш плагин должен зависеть от jar-файлов, от которых зависит каждый проект hibernate. Вы также можете предоставить эти библиотеки отдельным плагином и просто экспортировать их.

Но вы должны иметь в виду, что в спящем режиме интенсивно используются рефлексии, и ваши постоянные классы должны быть доступны для вашего менеджера персистентности.

Существует также очень хороший учебник по интеграции hibernate в виде отдельного плагина на http://entwickler.de/zonen/portale/psecom,id,101,online,1082,.html, но, к сожалению, это только на немецком языке.

...