Ok these are my entities :
Code:
@Entity
@Indexed
public class Message{
@Id
@DocumentId
@GeneratedValue
private long id;
@IndexedEmbedded
private MailOffice mailOfficeBySentTo;
@IndexedEmbedded
private MailOffice mailOfficeBySentBy;
@Field
private String subject;
@Field
private String body;
...
}
@Entity
public class MailOffice{
@Id
@DocumentId
@GeneratedValue
private long id;
@Field
private String name;
@IndexedEmbedded
private Set<Domain> domains = new HashSet<Domain>(0);
@ContainedIn
private Set<Message> messagesForSentBy = new HashSet<Message>(0);
@ContainedIn
private Set<Message> messagesForSentTo = new HashSet<Message>(0);
...
}
@Entity
public class Domain{
@Id
@DocumentId
@GeneratedValue
private long id;
private MailOffice mailOffice;
@Field
private String name;
@IndexedEmbedded
private Set<Member> members = new HashSet<Member>(0);
@ContainedIn
private Set<Message> messages = new HashSet<Message>(0);
...
}
@Entity
public class Member {
@Id
@DocumentId
@GeneratedValue
@Field
private long id;
@ContainedIn
private Domain domain;
@IndexedEmbedded
private Person person;
...
}
@Entity
public class Person{
@Id
@DocumentId
@GeneratedValue
private long id;
private String dn;
@Field(store=Store.YES)
private String commonName;
@ContainedIn
private Set<Member> members = new HashSet<Member>(0);
...
}
My "Member" entity is just an association. I know it shouldn't be an object, I will correct it later :)
The request I'm doing is :
Code:
mailOfficeBySentBy.domains.members.person.commonName:X AND mailOfficeBySentBy.domains.name:Y
It may be a noob stuff... Thanks again for your help