Glassfish хочет EntityManagerFactory при использовании PersistenceContextJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Glassfish хочет EntityManagerFactory при использовании PersistenceContext

Сообщение Anonymous »

У меня есть проект, который я конвертирую из Java EE в Jakarta 10. Я пытаюсь заставить постоянство работать на Glassfish 7. К сожалению, когда приложение развертывается в Glassfish, я получаю следующую ошибку:

Код: Выделить всё

java.lang.IllegalStateException: Unable to retrieve EntityManagerFactory for unitName myApp
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.init(EntityManagerWrapper.java:130)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.doTxRequiredCheck(EntityManagerWrapper.java:148)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.doTransactionScopedTxCheck(EntityManagerWrapper.java:141)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.persist(EntityManagerWrapper.java:268)
at politse.ejb.RequestBean.createParliament(RequestBean.java:109)
Соответствующие части моего RequestBean:

Код: Выделить всё

@Named("requestBean")
@RequestScoped
@Stateful
public class RequestBean {
PersistenceContext(unitName="myApp")
private EntityManager em;

public void createParliament(String parliamentId)
{
Parliament wst = new Parliament(parliamentId);
em.persist(wst); //exception here
}
}
Мой файл persistence.xml выглядит следующим образом:

Код: Выделить всё



jdbc/MySQLPool
false







Что я не понимаю, так это то, что я пытаюсь использовать постоянство, управляемое контейнером, и, согласно руководству в Джакарте, EntityManagerFactory требуется только при использовании постоянства, управляемого приложением. Поэтому я не уверен, почему Glassfish думает, что я хочу использовать постоянство, управляемое приложением.
РЕДАКТИРОВАТЬ: я добавил структуру каталогов моей целевой папки, поскольку развертываю артефакт в разобранном виде. Однако я создал WAR, чтобы увидеть это место, и оно здесь:

Код: Выделить всё

 inflated: WEB-INF/classes/resources/META-INF/persistence.xml
Изображение

EDIT2: Благодаря полезным комментариям я обнаружил, что было не так. В моей конфигурации развертывания IntelliJ мне нужно было поместить дескрипторы JPA в правый каталог в левом столбце. Это устранило проблему.
Изображение

Изображение


Подробнее здесь: https://stackoverflow.com/questions/798 ... ncecontext
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»