persistence.xml игнорирует Hibernate и выбирает DataNucleus - PullRequest
0 голосов
/ 18 февраля 2010

Я играю с 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>
  ...

Ответы [ 3 ]

0 голосов
/ 18 февраля 2010

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

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

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

alt text

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

0 голосов
/ 31 марта 2010

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

0 голосов
/ 18 февраля 2010

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

...