0

我将一些大型文本数据作为文本对象存储到谷歌应用引擎数据存储中,entityName.setProperty("textProperty", text) 其中“文本”是文本类型对象。当我尝试获取文本时,我使用entityName.getProperty("textProperty"); 因为它返回一个对象并将其存储为文本对象,所以我只是将它转换为文本使用(Text)entityName.getProperty("textProperty"); 但是它给了我java.lang.ClassCastException: java.lang.String cannot be cast to com.google.appengine.api.datastore.Text 所以看起来应用程序将它存储为字符串,所以我这样做(String)entityName.getProperty("textProperty"); 但它给了我这个 java.lang.ClassCastException: com.google.appengine.api.datastore.Text cannot be cast to java.lang.String

我很困惑:如何从数据存储中获取 Text 对象?

4

2 回答 2

1

Text text = new Text(String);习惯从字符串转换为文本,以及 String s = text.getValue();从文本转换为字符串。

于 2012-05-18T08:51:16.137 回答
1

在 Google APP Engine 中将 TextProperty 与 JPA 映射时,我使用以下代码解决了我的问题。

我定义了一个Text属性内容,每当我做一个Set:我都会传递Text。每当我执行 Get 时,我都会使用 getValue() 方法返回一个字符串。它适用于我的。

@Column(name="content")
private Text content;
public void setContent(Text content) {
    this.content = content;
}
public String getContent() {
    return content.getValue();
}
于 2013-06-05T13:12:05.057 回答