Class JpaWebAutoConfiguration


  • @Configuration(proxyBeanMethods=false)
    @ConditionalOnWebApplication(type=SERVLET)
    @ConditionalOnClass({javax.persistence.EntityManager.class,org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.class})
    @ConditionalOnProperty(prefix="spring.jpa",
                           name="open-in-view",
                           havingValue="true",
                           matchIfMissing=true)
    @AutoConfigureBefore(org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration.class)
    public class JpaWebAutoConfiguration
    extends java.lang.Object
    Spring Boot will by default register a OpenEntityManagerInViewInterceptor to apply the "Open EntityManager in View" pattern, i.e. to allow for lazy loading in web views.

    Unfortunately the Interceptor doesn't work for JSF, so this AutoConfiguration registers a OpenEntityManagerInViewFilter instead.

    See Also:
    JpaBaseConfiguration
    • Constructor Detail

      • JpaWebAutoConfiguration

        public JpaWebAutoConfiguration()
    • Method Detail

      • openEntityManagerInViewFilter

        @Bean
        @ConditionalOnMissingBean({org.springframework.orm.jpa.support.OpenEntityManagerInViewInterceptor.class,org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.class})
        @ConditionalOnMissingFilterBean(org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.class)
        public org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter openEntityManagerInViewFilter()