2012-03-21 3 views
1

при запуске приложения Я получаю «classNotFound» -Exception. Может быть, вы можете помочь мне решить эту проблему:Eclipse RCP & Hibernate Entity Mapping - класс не найден

Структура моих плагинов:

1) my.hibernate < --all необходимые Hibernate баночки
2) my.persistance < --entities и отображение, db- разъемы и т. д., зависимость от 1) активирована
3) my.starter < --startplugin с видом. Зависимость от 2) активирована

Я получаю подключение к базе данных, но когда объекты загружаются (отображаются аннотациями, а не * .hbm.xml), я получаю описанное исключение. Я должен упомянуть, что плагин my.persistance содержит Eclipse-RegisterBuddy: my.hibernate, а my.hibernate содержит Eclipse-BuddyPolicy: зарегистрирован.

Мое мнение состоит в том, что баннер аннотаций спящего режима не знает плагин my.persistance, включая экспортированные пакеты. Некоторые решения?

+0

Я рекомендую использовать EclipseLink вместо Hibernate, особенно если вы используете стандартную JPA. Он уже предоставляет OSGi-метаданные, поэтому вам не нужна политика Buddy. – lostiniceland

+0

О, спасибо за подсказку, я посмотрю на это. –

ответ

0

Проблема решена. Проблема не была неправильная установка пути к классам или некоторые неправильные зависимостями, это было только в Hibernate команда

<mapping package="some.long.package.destination"> 
<mapping class="EntityToBeMapped"> 
<mapping class="FurtherEntityToBeMapped"> 

Я думал, что это сокращенная форма отображения

<mapping class="some.long.package.destination.EntityToBeMapped"/> 
<mapping class="some.long.package.destination.FurtherEntityToBeMapped"/> 

без необходимости вводить в объявлении пакета все время. После удаления «сопоставления пакетов» -компонента сопоставление объектов с аннотациями работал по назначению.

Смежные вопросы