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即可。
注意:只能返回一个对象,不能返回所有满足条件的子对象。