Прошло несколько часов, над которыми я работаю, но до сих пор я не понял, как правильно использовать JPA с JSF.JPA и JSF: правильный способ инъекции EntityManager
У меня есть обработанный сеансом управляемый bean-компонент, который может делать много вещей, и один из них сохраняет некоторые объекты сущности. Вначале я создал метод-производитель, который запросит область действия, которая построит объекты EntityManager. В любом случае, прочитайте здесь, что инъекция запрошенного облачного объекта в сессионные области завершается переносом этого экземпляра в объект экземпляра. Готово. Но когда я пытаюсь использовать этот EM, я получил исключение для транзакции. Продолжайте читать в Интернете, кто-то говорит, что я должен ввести EM непосредственно в мои управляемые компоненты, используя аннотацию PersistenceContext. Во всяком случае, я думал, что имеет смысл использовать аннотацию persistenceUnit и создавать мои em внутри моих методов там, где они мне нужны. Инъекция работает, но я все еще получаю исключение в транзакции, когда пытаюсь что-то упорствовать!
Итак, здесь я спрашиваю: как правильно это сделать?
Редактировать: Я использую Jboss eap 6.2, используя настройки по умолчанию. Я развертываю свой источник данных с помощью XML-файла внутри WEB-INF, поэтому я использую JTA.
Какова ваша среда выполнения? это важно, если вы используете только контейнер сервлетов или полномасштабный Java EE-сервер. – Yuri
Добавляя к тому, что говорит @Yuri, [эта глава урока] (http://docs.oracle.com/javaee/6/tutorial/doc/bncih.html) объясняет, почему важно знать, используете ли вы JavaEE. – mabi