Кто-нибудь пытался интегрировать spring-data-jpa с приложением java-ee? Я использую glassfish3 в качестве контейнера для приложений.Spring-Data-JPA в среде CDI?
Я последовал официальный учебник весна-данные JPA и создал класс:
public class EntityManagerFactoryProducer {
@Produces
@ApplicationScoped
public EntityManagerFactory createEntityManagerFactory() {
return Persistence.createEntityManagerFactory("myPU");
}
public void close(@Disposes EntityManagerFactory entityManagerFactory) {
entityManagerFactory.close();
}
@Produces
@RequestScoped
public EntityManager createEntityManager(EntityManagerFactory entityManagerFactory) {
return entityManagerFactory.createEntityManager();
}
public void close(@Disposes EntityManager entityManager) {
entityManager.close();
}
}
Но когда я пытаюсь развернуть мое приложение, я получаю исключение:
Error occurred during deployment: Exception while preparing the app : Could not resolve a persistence unit corresponding to the persistence-context-ref-name [org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean/entityManager] in the scope of the module called [App]. Please verify your application.. Please see server.log for more details.
Command deploy failed.
Что я пропал без вести? Должен ли я иметь еще один файл конфигурации или, возможно, некоторый файл xml?
Я думаю, что проблема может быть, что вы не имеете блок сохранения с именем "myPU", объявленной в вашем persistence.xml. Но я также не думаю, что это правильный подход. См. Мой ответ для деталей. – Gandalf
PU объявляется правильно. – slnowak