persistence.xml игнорирует Hibernate и выбирает DataNucleus

Я играю с GWT (не знаю, имеет ли это значение) и Hibernate. Я создал файл persistence.xml в META-INF с (amoung) другой конфигурацией в строке: org.hibernate.ejb.HibernatePersistence. Но когда я запускаю EntityManager, он выбирает DataNucleus вместо Hibernate (который позже завершается ошибкой, поскольку он не установлен (баночка не в классной дорожке))

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>
  ...

3 ответа

Решение

Я использовал неправильные классы JPA Wrapper. Раньше я использовал geronimo-jpa.jar и в итоге использовал javax-persistance.jar от Glassfish. Не знаю, если это сладкое решение, но, по крайней мере, оно одно.

Так скажите мне, вы используете это на GAE/J? DataNucleus, очевидно, находится в CLASSPATH, так как он находится в вашем журнале, говоря именно это.

Цитирование раздела " Создание нового веб-приложения " из документации по плагину Google для Eclipse:

Создание проекта с помощью мастера создания новых веб-приложений

Мастер создания нового проекта веб-приложения позволяет вам создать новое веб-приложение, которое использует Google Web Toolkit (GWT) и / или Google App Engine:

альтернативный текст

Вы выбрали Использовать Google App Engine во время создания проекта? Если да, не надо.

Другие вопросы по тегам