簡體   English   中英

JpaMetamodelMappingContext的目的是什么?

[英]What's the purpose of JpaMetamodelMappingContext?

彈簧數據JPA創建的實例JpaMetamodelMappingContext ,它保持JPA實體的元模型,當@EnableJpaRepositories被使用。

我們希望將CrudRepository功能( findOnedelete ...)與org.springframework.data.jpa.domain.Specifications<T>結合使用。 @Query或從方法名稱動態生成的查詢。

在這種情況下,我們需要JpaMetamodelMappingContext嗎?

(原因:就堆空間而言,該上下文非常龐大。如果用例不需要它,我們將嘗試跳過其創建。)

非常感謝!

在現場環境中運行后,僅供參考:可以在沒有JPA元模型的情況下運行spring-data的CrudRepositoryJpaRepository 我們的Configuration如下:

@Configuration
@EnableJpaRepositories(basePackageClasses = Foo.class)
@ComponentScan(basePackageClasses = { Bar.class })
public class DomainConfiguration {

    /**
     * The returned factory will built a {@link JpaMetamodelMappingContext} without a JPA MetaModel.
     *
     * This could save a couple of hundres MBs of heap space, but may disable some of spring-data's features.
     * 
     * @return factory bean for {@link JpaMetamodelMappingContext}.
     */
    @Bean(name = BeanDefinitionNames.JPA_MAPPING_CONTEXT_BEAN_NAME)
    public JpaMetamodelMappingContextFactoryBean jpaMetamodelMappingContextFactoryBean() {
        JpaMetamodelMappingContextFactoryBean factory = new JpaMetamodelMappingContextFactoryBean();
        return factory;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM