2010-10-30 2 views
2

У меня есть EJB и WEB-модуль в моем IntelliJ, созданный 5 сущностей, которые я бы хотел загрузить в базу данных с помощью аннотаций.persistence.xml не найден на дескрипторе развертывания стеклянной рыбы (IntelliJ)

Я перехожу к настройкам проекта, под модулями и выбираю, что хочу добавить грань JPA, я знаю, что есть фасет EJB, WEB и JPA. Я использую eclipselink, поэтому я проверил, что в настройках JPA я добавил файл persistence.xml, настроил файл.

Проблема заключается в том, что при развертывании он просто не будет развертывать файл persistence.xml, а это значит, что я не могу найти его под моим сервером glassfish 3.0 при выборе моего приложения в дескрипторах развертывания. Я только нашел свой sun-web-ejb.xml в модуле EJB. persistence.xml тоже не входит в модуль WEB, но я предполагаю, что он все равно должен находиться под модулем EJB.

Предполагается, что мой файл persistence.xml не должен быть загружен на сервер, чтобы я мог найти файл xml в консоли администратора GF (приложения -> EJB my -> дескрипторы развертывания)?

Если это не предназначено, есть ли что-то особенное, что мне нужно сделать в IntelliJ, чтобы сделать persistence.xml развернутым на сервере? Может быть, что-то в частности мне нужно сделать с моей гранью JPA?

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

ответ

2

Я только нашел свой sun-web-ejb.xml под модулем EJB.

Это уже странно. Если я не ошибаюсь, это проприетарный дескриптор развертывания для веб-модуля.

persistence.xml не под модулем WEB либо, но я предполагаю, что это должно быть под модулем EJB все равно

Все зависит от того, как вы упаковали и развертывать объекты, которые могут быть сделаны несколькими способами (см. What You May Need to Know About Persistence Unit Packaging Options).

Если ваши объекты упакованы в EJB-JAR, то persistence.xml должен быть помещен в каталог META-INF.

Но вы можете упаковать их в веб-модуль, это будет проще в вашем случае. См. Приведенную выше ссылку.

ли он в виду, что мой persistence.xml не должен быть загружен на сервере, так что я могу найти файл XML под GF консоли администратора (приложения -> EJB модуль шахты -> дескрипторы развертывания)?

Я предлагаю проверить, что физическое JAR содержит META-INF/persistence.xml.

Если это не предназначено, есть ли что-нибудь, что мне нужно сделать в IntelliJ, чтобы сделать persistence.xml развернутым на сервере? Может быть, что-то в частности мне нужно сделать с моей гранью JPA?

Не могу сказать. Возможно, следующая ссылка может помочь: Enabling JPA Support.

+1

Благодарим вас за помощь, вы, где это правильно, зависит от того, как я ее упаковал, поэтому в моем случае persistence.xml не должен быть указан на моем сервере GF 3.0. Также хочу поблагодарить вас за некоторые другие сообщения, которые вы внесли в разработку EE, я пошел и посмотрел на ваш профиль и увидел, что вы рекомендовали книгу с платформой JavaEE 6 с GF 3.0. Это тоже помогло. Я также должен признать, что я был немного обеспокоен, поскольку у меня есть расписание на моем конце (школе), и я никогда не знаю, когда все части предприятия упадут на место. – user294937

+0

@ user294937: Добро пожаловать. И рад, что вы нашли некоторые из моих других ответов также полезными. Спасибо за ответ. –