相关疑难解决方法(0)

Spring Data Mongo Repository ::所有Repo问题的通用共享方法

用例

我正在尝试将自定义行为添加到 Spring Data MongoDB的所有存储库功能.

该文档无益地描述了如何使用JPA进行连接.无论如何使用Mongo等效的配置设置.

我想将findByCategoryName(String categoryName)方法添加到所有实体,因为我的所有实体都将具有Category.Category是DBRef对象,因此必须使用自定义查询.

以下是配置的相关部分

<!-- Activate Spring Data MongoDB repository support -->
<mongo:repositories base-package="com.domain.*.repo" repository-impl-postfix="CustomImpl" 
    factory-class="com.domain.commonrepo.CommonMongoRepoFactoryBean"/>

<bean id="mappingContext" class="org.springframework.data.mongodb.core.mapping.MongoMappingContext" />

<mongo:mapping-converter mapping-context-ref="mappingContext">
    <mongo:custom-converters base-package="com.domain.mongo.converter" />
</mongo:mapping-converter>

<bean id="entityInformationCreator" class="org.springframework.data.mongodb.repository.support.DefaultEntityInformationCreator">
    <constructor-arg name="mappingContext" ref="mappingContext" />
</bean>
Run Code Online (Sandbox Code Playgroud)

..

FactoryBean

    @NoRepositoryBean
    public class CommonMongoRepoFactoryBean<T extends MongoRepository<?,?>, ID extends        
    Serializable> extends MongoRepositoryFactoryBean{

@Autowired
private static MongoTemplate mongoTemplate;

protected MongoRepositoryFactory getRepositoryFactory(Class<T> clazz) {
    return new CommonMongoRepoFactory(clazz);
}

private static class CommonMongoRepoFactory extends MongoRepositoryFactory {
    private Class clazz;

    public …
Run Code Online (Sandbox Code Playgroud)

mongodb spring-data

5
推荐指数
1
解决办法
5514
查看次数

标签 统计

mongodb ×1

spring-data ×1