java - 使用 Spring 数据调用自定义 mongoDB 查询失败

标签 java mongodb spring-mvc spring-data

我正在尝试使用 Spring 数据调用自定义 mongoDB 查询,但查询没有被调用。

这是我的代码。

在 Controller 中:调用服务方法

List<UserProfile> gatheringMembers = userService.getUsersProfile(membersEmail);

这是调用自定义 mongoDB 查询的服务方法

public List<UserProfile> getUsersProfile(List<String> emails){
        return userProfileRepository.findAllUsersByEmail(emails);
    }

这是我的 mongoDB 存储库界面

public interface UserProfileRepository extends MongoRepository<UserProfile, String>, UserProfileRepositoryCustom {

    public UserProfile findByEmail(String email);

}

这是界面

public interface UserProfileRepositoryCustom {

    public List<UserProfile> findAllUsersByEmail(List<String> emails);

}

及其实现

public List<UserProfile> findAllUsersByEmail(List<String> emails) {
        logger.info("getting all users profiles");
        Query query = new Query(where("email").in(emails));
        return mongoOperations.find(query, UserProfile.class);
    }

当我运行代码时,我在 Controller 中得到空列表。 findByEmail 工作正常。任何人都可以帮我看看这段代码有什么问题吗?

问候,

最佳答案

经过更多搜索后,我找到了答案的解决方案,这不是代码问题,而是配置问题。对于那些面临同样问题的人,我将添加解决方案。添加repository-impl-postfix="CustomImpl"后,它开始工作。

之前:

<mongo:repositories base-package="com.app.repositories"/>

之后:

<mongo:repositories base-package="com.app.repositories" repository-impl-postfix="CustomImpl" />

关于java - 使用 Spring 数据调用自定义 mongoDB 查询失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21778083/

相关文章:

Java 正则表达式匹配 <li> 前面没有 <br/>

java - Xuggler 生成错误消息

mongodb - MongoError : connection destroyed, 无法实例化游标

java - 如何为 "virtual files"列表创建 ZIP 文件并输出到 httpservletresponse

java.security.cert.CertificateException : No subject alternative DNS name matching

Java 12-GC (JEP 346) 在资源按使用付费的容器环境中行为是否特别不利?

node.js - 在 Node + Mongo 中强制执行单个 DB Writer

mongodb - 对象数组与对象上的 Mongo 索引

spring - Hibernate - Spring,SessionFactory nullPointerException(调用 getCurrentSession() 时)

java - 在表单之间导航时如何修复删除字段?