morphia 查询返回子对象

来源:互联网 发布:长春前锦网络信息公司 编辑:程序博客网 时间:2024/06/07 21:00

1、使用morphia查询对象时,一般都是返回当前对象。

@DB("member")@Entity(value = "follow",noClassnameStored=true)public class Follow implements SimpleBean{    @Id    private String uid;    @Reference(lazy = true)    private List<MemberInfo> members;    public String getMemberId() {        return uid;    }    public void setMemberId(String uid) {        this.uid = uid;    }    public List<MemberInfo> getMemberInfo() {        return members;    }    public void setMemberInfo(List<MemberInfo> members) {        this.members = members;    }    public static class Dao extends MorphiaDao<Follow> {        public Dao() {            super(Follow.class);        }        public Follow myFollow(String uid) {            return this.findOneBy("uid", uid);        }    }}
上面的Follow类,使用morphia查询的时候一般都是返回Follow对象。

要想查询结果返回MemberInfo的对象,可以使用如下方式:

MemberInfo m = this.ds().createQuery(MemberInfo.class).get();

调用ds()的createQeury方法,参数传递需要返回的对象的class即可。

注意:只能返回一个对象,不能返回所有满足条件的子对象。