В чем разница между проектом JPA и проектом EJB в Eclipse?

#java #eclipse #jpa #jakarta-ee #ejb

#java #eclipse #jpa #джакарта-ee #ejb

Вопрос:

Какой из них используется, когда?

Когда я хочу JSF компонент без состояния JPA Entity application, мне нужен проект EJB, а динамический веб-проект интегрируется в проект EAR?

Ответ №1:

Проект EJB — это проект, ориентированный на разработку корпоративных Java-компонентов. Обычно EJBS зависят от компонентов Entitity для обеспечения сохраняемости, которые реализованы с использованием технологии JPA (думайте о JPA как о зависимости от EJB).

Причина, по которой у вас есть возможность создать проект JPA независимо от EJB, заключается в том, что некоторые люди могут не захотеть использовать (или им не нужно) EJBS, но все же им нужно использовать платформу ORM, такую как JPA. Таким случаем может быть, например, веб-проект (т. Е. JSF), который будет использовать JPA напрямую для сохранения (без EJBS).

Вывод заключается в том, что, хотя EJB 3 использовал JPA для сохранения, вам не обязательно использовать EJBs в своем проекте (если вам это не нужно), чтобы извлечь выгоду из ORM-фреймворка, такого как JPA.

Теперь, чтобы включить JPA в проекте EJB в eclipse, щелкните правой кнопкой мыши на проекте, перейдите к опции «Грани проекта» и выберите аспект JPA. Поступая таким образом, eclipse добавит необходимые библиотеки, создаст необходимые артефакты (persistence.xml ) и включите связанные с JPA инструменты в вашей IDE.

Комментарии:

1. JPA расшифровывается как Java Persistence API , на случай, если вам интересно.

Ответ №2:

Java Persistence API, иногда называемый JPA, представляет собой спецификацию языка программирования Java, которая описывает управление реляционными данными в приложениях, использующих платформу Java Standard Edition и платформу Java Enterprise Edition.

Java Persistence API появился как часть работы группы экспертов JSR 220. JPA 2.0 — это работа группы экспертов JSR 317.

Постоянство в этом контексте охватывает три области:

 the API itself, defined in the javax.persistence package
the Java Persistence Query Language (JPQL)
object/relational metadata
  

Enterprise JavaBeans (EJB) — это Java API, разработанный Sun Microsystems, который определяет компонентную архитектуру для многоуровневых клиент-серверных систем.

Системы EJB позволяют разработчикам сосредоточиться на реальной бизнес-архитектуре модели, а не беспокоиться о бесконечных объемах программирования, необходимых для подключения всех рабочих частей. Эта задача оставлена поставщикам серверов EJB. Разработчики просто проектируют (или покупают) необходимые компоненты EJB и размещают их на сервере.

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

Ответ №3:

Это зависит от версии Java EE, которую вы используете. В Java EE 6 мы можем иметь EJBS в самом файле WAR. Итак, одного динамического веб-проекта было бы достаточно.

Если вы используете Java EE 1.5, то вам нужен динамический веб-проект для JSF, а для компонента без состояния вам нужен проект EJB, а также корпоративный проект, который должен объединить WAR и JAR в EAR. В самом EJB-проекте могут быть классы, связанные с сохранением, и здесь не требуется JPA-проект.

Java EE предоставляет возможность использовать JPA независимо от EJBs, поэтому, если вашему приложению не требуется EJBs, но вы все еще хотите использовать JPA, вы можете выбрать проект JPA.