почему мой проект EAR не видит аннотированные EJB и сущности в моем проекте JPA? - PullRequest
0 голосов
/ 24 февраля 2012

Я использую IBM RAD 7 (также известный как Eclipse 3.4) и WebSphere 7.

У меня есть рабочее пространство с базовой настройкой EJB;проекты TestEAR, TestEJB, TestJPA, TestWeb.

Я могу комментировать ejb ("@Stateless EntityService") в проекте TestEJB, и он работает нормально.Но если я добавлю ejb ("@Stateless EntityDAO") в проект TestJPA, он не будет внедрен в EntityService.Если я перемещаю EntityDAO в проект TestEJB, он работает нормально.

Кроме того, если я аннотирую класс сущностью ("@Entity MyEntity"), он не известен как сущность для контейнера (я получаю "нераспознанная сущность "..." Известные типы сущностей: [] "ошибка).Но если я добавлю тег my.domain.MyEntity в файл persistence.xml TestEJB, он будет работать нормально.

ВОПРОС: Почему проект TestEJB не может распознавать аннотированные классы в проекте TestJPA?

ПРИМЕЧАНИЕ. В Eclipse 3.4 нет вкладки «Сборка развертывания», но есть вкладка «Зависимости модуля Java EE» (TestEAR> Свойства> Зависимости модуля Java EE);Я проверил, и все проекты находятся в списке и проверены (т.е. TestEJB, TestJPA, TestWeb).

Любая помощь очень ценится!Это меня действительно озадачило.

Спасибо, Роб

1 Ответ

0 голосов
/ 24 февраля 2012

Кажется, здесь есть несколько вопросов ...

Если ваш проект TestEJB не использует бины TestJPA, убедитесь, что оба они указаны как модуль <ejb>, а не как <jar> в файле application.xml.в TestEAR.Также убедитесь, что они оба являются частью EAR.

Для типов No Known Entity, если эта ошибка появляется в RSA, вы можете щелкнуть правой кнопкой мыши на проекте и найти «JPA Tools» и выбрать «Configure».JPA-объекты », если вы не видите« JPA Tools », убедитесь, что для этого проекта включены фасеты JPA.Если это происходит на сервере (я полагаю), убедитесь, что следующая строка отсутствует в вашем файле persistence.xml <exclude-unlisted-classes>true</exclude-unlisted-classes>, или что в нем должны быть перечислены все классы, что не обязательно является плохой вещью.

Если толькоабсолютно важно, чтобы я хранили ваши EJB и сущности в одном проекте для простоты.

...