0

我正在玩弄 GWT(不知道这是否重要)和 Hibernate。我已经在 META-INF 中创建了一个文件 persistence.xml 与(以及)其他配置行: 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>
  ...
4

3 回答 3

0

所以告诉我,你在 GAE/J 上使用这个吗?DataNucleus 显然在 CLASSPATH 中,因为它在您的日志中就是这样说的。

于 2010-02-18T15:02:49.960 回答
0

引用Google Plugin for Eclipse文档中的Creating a New Web Application部分:

使用新建 Web 应用程序向导创建项目

新建 Web 应用程序项目向导允许您创建使用 Google Web Toolkit (GWT) 和/或 Google App Engine 的新 Web 应用程序:

替代文字

您是否在项目创建时选择了使用 Google App Engine ?如果是,不要。

于 2010-02-18T16:43:18.513 回答
0

我使用了错误的 JPA Wrapper 类。我之前使用的是 geronimo-jpa.jar,最后我使用了 Glassfish 的 javax-persistance.jar。不知道这是否是一个甜蜜的解决方案,但至少它是一个。

于 2010-03-31T11:38:26.803 回答