1. 程式人生 > >morphia 查詢返回子物件

morphia 查詢返回子物件

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即可。

注意:只能返回一個物件,不能返回所有滿足條件的子物件。