Compass中使用annotations来进行OSEM遇到的问题

我现在使用Compass做查询,我使用的是使用annotations来进行OSEM,我有两个类如下:
1.Message类,主要作用是描述一个信息的对象,里面其他很多属性我就不贴出来了,怕占用空间
@Searchable
public class Message{
private static final long serialVersionUID = 100017L;
@SearchableId
Long id;
@SearchableProperty
List<Recipient> recipientList = new ArrayList<Recipient>();
public List<Recipient> getRecipientList() {
return recipientList;
}
@SearchableReference
public void setRecipientList(List<Recipient> recipientList) {
this.recipientList = recipientList;
}

public Long getId() {
return id;
}

@Override
public void setId(Long id) {
this.setId(id);
}
}

2.Recipient类,主要描述的是接收人,因为一条信息可能有多个接收人,也就是说他和Message的关系是many-to-one
   @Searchable(root=false)
  public class Recipient {
private static final long serialVersionUID = 1000024L;
@SearchableId
Long id:
Message message;
public Message getMessage() {
return message;
}
@SearchableComponent
public void setMessage(Message message) {
this.message = message;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.setId(id);
}

}

我现在遇到的问题就是我查询出来的结果,对Message对象来说,始终拿到的recipientList为空,希望解决过compass这方面的下.

你可能感兴趣的:(compass)