GAE中JDO对长文本的存取问题

研究gae几天了,可是水平太菜了,遇到了一大堆问题,在这里记录下,希望高手们能不吝赐教,以后将解决方法一并整理,以方便其他同仁碰到类似的问题可以找到有效的解决方法。

 

问题(一)最多能保存500个character

 

长文本在描述对象,或者保存内容中是经常用到的。但是gae的对象中的String字段只能保存500个字符一下,超出就会报错,在google搜索了一大圈,包括其论坛,找到部分价值的解决方法。只需将长文本字段的声明应为com.google.appengine.api.datastore.Text类型

@Persistent(serialized="true", defaultFetchGroup="true")

//@Enumerated

private  Text  content;

 

但是我们从页面中取得的几乎是String 类型,因此要保存的时候需要做一个转换

Text content = new Text(str);

把页面上的长str转换为com.google.appengine.api.datastore.Text类型才能保存

 

目前的问题:

1.有没有自带的convert或者方法直接转换?

2.每个对象类只要有text类型都要转换,如何处理?

3.因为是用DWR框架,如何取出这个长文本字段?

 

解决办法:

就是对Text 类型的对象的 setter 和 getter方法进行处理

private Text content;

public String getContent(){

       return this.content.stringValue().toString();

}

 

public void setContent(String content){

       this.content = new Text(content);

}

 

你可能感兴趣的:(gae开发问题集)