Как использовать 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

Другие вопросы по тегам