0

我有一个带有 JPA 实体的 jar,来自另一个带有 persistence.xml 文件的应用程序。有没有办法调整播放所以

  1. 它用属性值填充persistence.xml
  2. 它仍然设置内存数据库并允许我们保存/查询等。

目前,我收到一个错误“发生 JPA 错误(未初始化 JPA 上下文。当在应用程序中找到一个或多个使用 @javax.persistence.Entity 注释注释的类时,JPA 实体管理器会自动启动。)”

附言。我在 lib 目录中有我的实体 jar,当然还有 persistence.xml 文件,它可以工作,直到我将所有实体从我的模型中拉出(如果模型中没有实体,它似乎不起作用)。

谢谢,院长

4

1 回答 1

1

我目前处于类似情况,但使用的是 Play 2.0.1,所以我不确定我能否回答您的两个问题,但我相信我可能会帮助您解决收到的错误。

我为 Hibernate 和内存数据库设置的 persistence.xml 文件:

    <persistence-unit name="testUnit">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jar-file>path/to/jar-file.jar/jar-file>
    <properties>
        <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
        <property name="hibernate.hbm2ddl.auto" value="update"/>
        <property name="hibernate.connection.url" value="jdbc:h2:mem:events"/>
    </properties>
</persistence-unit>

我想象的是你没有包含你的 jar 文件,所以虽然你的构建路径中有 jar,但你的 JPA 实体管理器无法识别它。

此外,您应该检查以确保不需要将 persistence.xml 文件放在 /conf/META-INF 文件夹中,尽管这可能是 Play 2.0.1 特定的,但这是我在工作时遇到的其他问题.

于 2012-06-21T15:00:46.833 回答