Как использовать com.google.appengine.api.datastore.Text
Я использую Quercus для запуска php на движке приложений Google и использую приведенный ниже код для вставки значения в хранилище данных GAE (BigTable).
<?php
import com.google.appengine.api.datastore;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
$entity = new Entity("test");
$entity->setProperty('story',' --- more than 500 char ---');
$dataService = DatastoreServiceFactory::getDatastoreService();
$dataService->put($entity);
?>
но возвращайте текущую ошибку, потому что значение истории больше 500 символов.
error:
com.caucho.quercus.QuercusException: com.google.appengine.api.datastore.Entity.setProperty: story: String properties must be 500 characters or less. Instead, use com.google.appengine.api.datastore.Text, which can store strings of any length.
Я ничего не знаю о Java. У кого-нибудь есть идеи, как использовать com.google.appengine.api.datastore.Text в моем php-коде.
Спасибо
2 ответа
Решение
Будет ли это работать?
<?php
import com.google.appengine.api.datastore;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Text;
$entity = new Entity("test");
$TextValue = new Text(' --- more than 500 char ---');
$entity->setProperty('story',$TextValue);
$dataService = DatastoreServiceFactory::getDatastoreService();
$dataService->put($entity);
?>
Вместо того чтобы передавать строку для второго параметра setProperty, создайте новый com.google.appengine.api.datastore.Text и передайте его.
Похоже, вы должны знать, как это сделать.
См. Определение 'setProperty' здесь: http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/Entity.html