Я играю с GWT (не знаю, имеет ли это значение) и Hibernate.Я создал файл persistence.xml в META-INF с (amoung) другой конфигурацией в строке: org.hibernate.ejb.HibernatePersistence. Но когда я запускаю EntityManager, он выбирает DataNucleus вместо Hibernate (который позже завершается ошибкой, поскольку не установлен (jar не находится в пути к классам))
Java-код:
EntityManagerFactory factory = Persistence.createEntityManagerFactory("gwt"); EntityManager em =factory.createEntityManager(); EntityTransaction transacation = em.getTransaction(); transacation.begin(); Campaign campaign = new Campaign(); campaign.setName("Test"); em.persist(campaign); transacation.commit();
файл конфигурации содержит:
<?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> <persistence-unit name="gwt" transaction-type="JTA"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <jta-data-source>java:/DefaultDS</jta-data-source> <properties> ...
Цитирование Создание нового раздела веб-приложения из документации Плагин Google для Eclipse :
Создание проекта с помощью мастера создания веб-приложений Мастер создания нового веб-приложения позволяет создавать новый веб приложение, которое использует Google Web Инструментарий (GWT) и / или Google App Двигатель:
Мастер создания нового веб-приложения позволяет создавать новый веб приложение, которое использует Google Web Инструментарий (GWT) и / или Google App Двигатель:
Вы выбрали Использовать Google App Engine во время создания проекта? Если да, не надо.
Я использовал неправильные классы JPA Wrapper. Раньше я использовал geronimo-jpa.jar и в итоге использовал javax-persistance.jar от Glassfish. Не знаю, если это сладкое решение, но, по крайней мере, оно одно.
Так скажите мне, вы используете это на GAE / J? DataNucleus, очевидно, находится в CLASSPATH, так как он находится в вашем журнале, говоря только это.