我是 GoogleAppEngine 的新手,在连接到 GoogleAppEngine 的 DataStore 时遇到问题。
在我遵循的教程(http://googcloudlabs.appspot.com/codelabexercise1.html)中,我们插入数据库然后读取。所以,它没有多大帮助(我可能会遗漏一些东西)。
我在 DataStore 中创建了一个表,并且可以从 Google 的 UI 中查询它。一旦我尝试通过 eclipse 连接(使用与我的 GoogleAppEngine 帐户相同的帐户),我会收到以下消息:
INFO: The backing store, /Users/ABC/Documents/workspace/projectABC/war/WEB-INF/appengine-generated/local_db.bin, does not exist. It will be created.
反过来又返回 0 行,因为它没有数据。
代码是这样的(如其他地方所述):
private static DatastoreServiceConfig config = DatastoreServiceConfig.Builder.withDefaults();
private static DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(config);
Jdoconfig.xml
<?xml version="1.0" encoding="utf-8"?>
<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig">
<persistence-manager-factory name="transactions-optional">
<property name="javax.jdo.PersistenceManagerFactoryClass"
value="org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory"/>
<property name="javax.jdo.option.ConnectionURL" value="appengine"/>
<property name="javax.jdo.option.NontransactionalRead" value="true"/>
<property name="javax.jdo.option.NontransactionalWrite" value="true"/>
<property name="javax.jdo.option.RetainValues" value="true"/>
<property name="datanucleus.appengine.autoCreateDatastoreTxns" value="true"/>
</persistence-manager-factory>
</jdoconfig>
我们如何传达要连接的数据存储(在我的例子中,我通过 GUI 创建了它并在其中插入了一些条目)?需要进行哪些更改?
我们是否需要覆盖 DefaultServiceConfig?是appIdNamespace
必需的吗?
任何帮助,将不胜感激。
谢谢,