【发布时间】:2013-03-25 10:10:06
【问题描述】:
我有一个 appengine 连接的 android 项目与 GCM 工作。现在,我想将本地主机上的 Mysql 实例连接到 appengine 应用程序。我关注了这些instructions,但徒劳无功。
本地mysql实例上的表是这样的
+---------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+----------------+
| _ID | bigint(5) | NO | PRI | NULL | auto_increment |
| COLUMN1 | varchar(20) | NO | | NULL | |
+---------+-------------+------+-----+---------+----------------+
我正在尝试使用端点向该表中添加一行。但是,appengine 项目不断向本地数据存储添加行。
此外,在文档中使用了 EclipseLink。一方面,datanucleus 库默认添加到 appengine 项目中,然后出现JPA with EclipseLink documentation。文档令人困惑。
我应该使用 datanucleus 还是 EclipseLink?这两种方法我都试过了,都失败了。端点使用 Datanucleus 库。例如,端点使用 Datanucleus 中的 JPACursorHelper 类。我想要实现的是在本地应用引擎开发中使用端点在上表中添加一行。
请注意:
- 我有一个带注释的Test.java 类,我已经为其生成了一个endpoint class。
- 我已将
<class>标签添加到persistence.xml。 - 注释处理器配置有 Datanucleus。
- “数据库开发”透视图显示本地实例已连接。
- 我的首选是 Datanucleus。
【问题讨论】:
-
JPACursorHelper 是与 GAE/Datastore(又名 BigTable)数据库而非 RDBMS 一起使用的一类,实际上做的很少 - 请参阅 code.google.com/p/datanucleus-appengine/source/browse/trunk/src/…。您应该使用您希望使用的 JPA 持久性实现,因为这就是拥有 API (JPA) 的全部意义......您引用的那个文档页面说“选择您选择的 JPA 实现”,这就是所有要做的事情
-
DataNucleus,感谢您的及时回复。正在通过 TestEndpoint.java 中的 insertTest 方法插入新行。再次浏览文件时,我发现 JPACursorHelper 没有阻碍(至少插入)。如果我错了,请纠正我。
-
是否暗示生成的端点仅适用于 Datastore?
标签: google-app-engine eclipselink datanucleus google-cloud-sql