Morphia的QueryImpl关于排序的改进。

Morphia的QueryImpl关于排序的改进。
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();
 }



你可能感兴趣的:(Morphia的QueryImpl关于排序的改进。)