Spring 数据 - mongoDB - 获取所有包含 agentNumberContainers 的联系人
Spring data - mongoDB - get all Contacts containing agentNumberContainers
我的 Spring - mongoDB 应用程序中有一个联系人 class,如下所示:
public class Contact {
...
private List<AgentNumberContainer> agentNumberContainers;
}
AgentNumberContainer- class 看起来像这样:
public class AgentNumberContainer implements Comparable<AgentNumberContainer> {
private String contactTenant;
private String customerNumber;
@Override
public int compareTo(final AgentNumberContainer agentNumberContainer) {
if (agentNumberContainer.getContactTenant().equals(this.contactTenant)
&& agentNumberContainer.getCustomerNumber().equals(this.customerNumber)) {
return 0;
} else {
return -1;
}
}
现在我将在 mongodb 数据库中找到所有联系人,其中包含一个或多个我的 agentNumberContainers。因此我尝试了这个:
public interface ContactRepository extends MongoRepository<Contact, String> {
List<Contact> findByAgentNumberContainersIn(final List<AgentNumberContainer> agentNumberContainers);
}
但是没有找到任何东西。有人知道我该怎么做吗?
您的 AgentNumberContainer
class 必须实施 equals/hashCode
进行相等性检查。
我的 Spring - mongoDB 应用程序中有一个联系人 class,如下所示:
public class Contact {
...
private List<AgentNumberContainer> agentNumberContainers;
}
AgentNumberContainer- class 看起来像这样:
public class AgentNumberContainer implements Comparable<AgentNumberContainer> {
private String contactTenant;
private String customerNumber;
@Override
public int compareTo(final AgentNumberContainer agentNumberContainer) {
if (agentNumberContainer.getContactTenant().equals(this.contactTenant)
&& agentNumberContainer.getCustomerNumber().equals(this.customerNumber)) {
return 0;
} else {
return -1;
}
}
现在我将在 mongodb 数据库中找到所有联系人,其中包含一个或多个我的 agentNumberContainers。因此我尝试了这个:
public interface ContactRepository extends MongoRepository<Contact, String> {
List<Contact> findByAgentNumberContainersIn(final List<AgentNumberContainer> agentNumberContainers);
}
但是没有找到任何东西。有人知道我该怎么做吗?
您的 AgentNumberContainer
class 必须实施 equals/hashCode
进行相等性检查。