morphia中,通过queryimpl查询是给定的排序字段不支持java的class property name。
因此,我将parseSortString进行改动如下:
public BasicDBObject parseSort(String str) {
BasicDBObjectBuilder ret = BasicDBObjectBuilder.start();
String[] parts = str.split(",");
MappedClass mc = ds.getMapper().getMappedClass(clazz);
for (String s : parts) {
s = s.trim();
int dir = 1;
if (s.startsWith("-")) {
dir = -1;
s = s.substring(1).trim();
}
s = mc.getMappedFieldByJavaField(s).getNameToStore();
ret = ret.add(s, dir);
}
return (BasicDBObject) ret.get();
}
posted on 2011-03-19 13:05
不做浮躁的人 阅读(1989)
评论(0) 编辑 收藏 所属分类:
others