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
不做浮躁的人 閱讀(1994)
評論(0) 編輯 收藏 所屬分類:
others