Google App Engine - 将JPA 1更新为JPA 2

时间:2013-05-13 07:57:06

标签: google-app-engine jpa jpa-2.0 datanucleus

我想更新我的GAE网络应用程序以使用JPA 2.0。在文档here中,它说我必须将appengine-java-sdk/lib/opt/user/datanucleus/v2/的内容复制到项目的lib文件夹中。

这是appengine-java-sdk/lib/opt/user/datanucleus/v2/

的文件
  1. ASM-4.0.jar
  2. DataNucleus将-API-JDO-3.1.3.jar
  3. DataNucleus将-API的JP-A-3.1.3.jar
  4. DataNucleus将-的AppEngine-2.1.2.jar
  5. DataNucleus将核 - 3.1.3.jar
  6. 的geronimo-jpa_2.0_spec-1.0.jar
  7. JDO-API-3.0.1.jar
  8. JTA-1.1.jar
  9. 目前,这是可能影响迁移的项目lib文件夹的内容:

    1. 应用服务引擎的API-1.0-SDK-1.7.7.1.jar
    2. 应用服务引擎的API-labs.jar
    3. 应用服务引擎-endpoints.jar
    4. 应用服务引擎-jsr107cache-1.7.7.1.jar
    5. ASM-3.3.jar
    6. ASM-公地3.3.jar
    7. ASM-树-3.3.jar
    8. DataNucleus将-的AppEngine-1.0.10.final.jar
    9. DataNucleus将核 - 1.1.5.jar
    10. DataNucleus将-JPA-1.1.5.jar
    11. 的geronimo-jpa_3.0_spec-1.1.1.jar
    12. 的geronimo-jta_1.1_spec-1.1.1.jar
    13. JDO2-API-2.3-eb.jar
    14. jsr107cache-1.1.jar
    15. 我应该删除哪些文件?我试图删除具有新版本但eclipse正在寻找旧文件的文件:

      1. DataNucleus将-的AppEngine-1.0.10.final.jar
      2. DataNucleus将核 - 1.1.5.jar
      3. 的geronimo-jpa_3.0_spec-1.1.1.jar
      4. 这是我的persistence.xml:

        <?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="transactions-optional">
                <provider>org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider</provider>
                <properties>
                    <property name="datanucleus.NontransactionalRead" value="true"/>
                    <property name="datanucleus.NontransactionalWrite" value="true"/>
                    <property name="datanucleus.ConnectionURL" value="appengine"/>
        
                    <property name="datanucleus.appengine.ignorableMetaDataBehavior" value="NONE"/>
                </properties>
            </persistence-unit>
        
        </persistence>
        

        对此有何帮助?感谢

1 个答案:

答案 0 :(得分:1)

使用Datanucleus需要使用eclipse插件检查link

将持久性提供商更改为persistence.xml org.datanucleus.api.jpa.PersistenceProviderImpl JPA 2.0提供商here

使用相同的新库更改每个库

这是我的应用程序的屏幕截图 注*使用GAE 1.7.4

GAE-lib here