1. Являются ли EJB3 и Hibernate конкурирующими технологиями или могут использоваться вместе.
У них есть конкурирующие API (JPA отличается от API Hibernate), но Hibernate может быть подключен под JPA, только не ожидайте взаимодействия с вещами, закодированными для Hibernate - в частности, jBPM (3.2) не полностью взаимодействует даже под Seam (2.1) 0,1).
2. Если я использовал JBoss Seam, нужно ли мне по-прежнему использовать Hibernate для своих нужд ORM или Seam + EJB3 позаботится об этом?
Как я понимаю, вы можете сделать либо.
3. Какие типичные фреймворки мне нужно будет изучить, если мне придется разрабатывать веб-приложение с использованием JBoss Seam? Является ли это некоторым или всем из следующего: Шов (конечно) JSF EJB3 Hibernate Spring Инверсия контейнера управления
JSF - важно, чтобы Seam действительно имел смысл на самом деле - я рекомендую сосредоточиться на Facelets в качестве основного способа создания страниц JSF. Синтаксис хороший и знакомый - обычный старый XHTML, квалифицированный для пространства имен, с компонентами на стороне сервера, расположенными в отдельных пространствах имен. Совершенно тривиально и чисто, в отличие от всего, что я пробовал.
EJB3 - нравится вам или нет, зависит от вас. Пройдя по этому пути, вы попадаете в Java EE, что все еще немного пугает меня, хотя и имеет много преимуществ.
Hibernate - если хотите, до вас. Менеджеры объектов JPA предоставляют альтернативу.
Spring IoC, э-э ... да, если хотите, опять-таки дело за вами. Seam заботится о bean-объектах bean-объекта с состоянием и сеансами (обычно это часть уровня логики представления), а Spring лучше всего подходит для контекста без сохранения состояния, такого как интерфейсы для внутренних служб, таких как базы данных и любые клиенты SOA.
Я обнаружил, что Seam + JSF (facelets) + Hibernate + Spring - очень хорошая комбинация для создания пользовательских интерфейсов через jBPM, а также в другом проекте для доставки контентных страниц, хотя для Seam это совсем не то.
- Можно ли использовать JBoss Seam для разработки приложения на портале JBoss?
Извините, я не могу вам помочь.