Я пытаюсь обновить небольшую альфа-версию корпоративного приложения, изначально написанного на Java6. Теперь я хочу использовать:
- Ява 7
- последняя версия JSF
- Мавен
- EJB 3.2 с Glassfish
Пока что я могу без проблем развернуть свой файл EAR на Glassfish. Мое веб-приложение может быть загружено, первые страницы JSF работают нормально. И мой вспомогательный компонент JSF, похоже, также нормально загружает сеансовые компоненты без сохранения состояния. Отладка показала мне, что я могу переходить с одного SSB на другой с помощью моего поддерживающего компонента. Последний и последний шаг, который мне не хватает, — это мой менеджер сущностей и настойчивость.
Мой класс помечен @Stateless, и я использую:
@PersistenceContext(unitName = "myProjectPU")
protected EntityManager entityManager;
Но менеджер сущностей нулевой :(
Мой файл persistence.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1"
xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="myProjectPU" transaction-type="JTA">
<jta-data-source>jdbc/myProject</jta-data-source>
<properties>
<property name="javax.persistence.schema-generation.create-database-schemas" value="true" />
</properties>
</persistence-unit>
</persistence>
Есть идеи? Должен ли файл persistence.xml находиться внутри модуля ear maven? Прямо сейчас он находится в модуле ejb maven, где находятся мои классы, использующие диспетчер сущностей.