将持久性API与Cloud SQL结合使用

时间:2014-11-11 20:54:44

标签: google-app-engine google-cloud-endpoints

我一直在开发和应用程序,我使用谷歌端点创建所有的Web服务。

默认情况下使用Cloud DataStorage,我想将其更改为Cloud SQL存储。我正在从文档https://cloud.google.com/appengine/docs/java/cloud-sql/

中执行此步骤
    import java.util.Map;
    import java.util.HashMap;
    import com.google.appengine.api.utils.SystemProperty;

    ...
        // Set the persistence driver and url based on environment, production or local.
        Map<String, String> properties = new HashMap();
        if (SystemProperty.environment.value() ==
              SystemProperty.Environment.Value.Production) {
          properties.put("javax.persistence.jdbc.driver",
              "com.mysql.jdbc.GoogleDriver");
          properties.put("javax.persistence.jdbc.url",
              "jdbc:google:mysql://your-project-id:your-instance-name/demo");
        } else {
          properties.put("javax.persistence.jdbc.driver",
              "com.mysql.jdbc.Driver");
          properties.put("javax.persistence.jdbc.url",
              "jdbc:mysql://127.0.0.1:3306/demo");
        }

        // Create a EntityManager which will perform operations on the database.

PersistenceManagerFactory pmf = JDOHelper.getPersistenceManagerFactory(propertiesMap, "persistence-unit-name");

“持久性单位名称”在最后一行中的含义是什么?

1 个答案:

答案 0 :(得分:1)

根据定义,持久性单元定义了一组由应用程序中的EntityManager实例管理的所有实体类。

有关详细信息,请参阅以下link

现在,一旦构建了应用程序并且因为这是一个Web应用程序,按照上面的链接&#34;如果将持久性单元打包为WAR文件中的一组类,则persistence.xml应位于WAR文件的WEB-INF / classes / META-INF目录。&#34;查看META-INF目录下的src文件夹,您应该看到一个persistence.xml文件,该文件的持久单元名称定义为您在获取PMF时指定的单位名称。

希望这有帮助。