Annotation Interface EnableEnversRepositories


@Target(TYPE) @Retention(RUNTIME) @Documented @EnableJpaRepositories public @interface EnableEnversRepositories
Annotation to enable Envers repositories. Will scan the package of the annotated configuration class for Spring Data repositories by default.

This annotation is a meta-annotation for @EnableJpaRepositories overriding the default repositoryFactoryBeanClass() to EnversRevisionRepositoryFactoryBean.

Since:
2.5
Author:
Mark Paluch, Greg Turnquist
See Also:
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Class<?>[]
    Type-safe alternative to basePackages() for specifying the packages to scan for annotated components.
    Base packages to scan for annotated components.
    org.springframework.data.repository.config.BootstrapMode
    Configures when the repositories are initialized in the bootstrap lifecycle.
    boolean
    Configures whether nested repository-interfaces (e.g. defined as inner classes) should be discovered by the repositories infrastructure.
    boolean
    Configures whether to enable default transactions for Spring Data JPA repositories.
    Configures the name of the EntityManagerFactory bean definition to be used to create repositories discovered through this annotation.
    char
    Configures what character is used to escape the wildcards _ and % in derived queries with contains, startsWith or endsWith clauses.
    org.springframework.context.annotation.ComponentScan.Filter[]
    Specifies which types are not eligible for component scanning.
    org.springframework.context.annotation.ComponentScan.Filter[]
    Specifies which types are eligible for component scanning.
    Configures the location of where to find the Spring Data named queries properties file.
    org.springframework.data.repository.query.QueryLookupStrategy.Key
    Returns the key of the QueryLookupStrategy to be used for lookup queries for query methods.
    Configure the repository base class to be used to create repository proxies for this particular configuration.
    Returns the FactoryBean class to be used for each repository instance.
    Returns the postfix to be used when looking up custom repository implementations.
    Configures the name of the PlatformTransactionManager bean definition to be used to create repositories discovered through this annotation.
    Alias for the basePackages() attribute.
  • Element Details

    • value

      @AliasFor(annotation=EnableJpaRepositories.class) String[] value
      Alias for the basePackages() attribute. Allows for more concise annotation declarations e.g.: @EnableJpaRepositories("org.my.pkg") instead of @EnableEnversRepositories(basePackages="org.my.pkg").
      Default:
      {}
    • basePackages

      @AliasFor(annotation=EnableJpaRepositories.class) String[] basePackages
      Base packages to scan for annotated components. value() is an alias for (and mutually exclusive with) this attribute. Use basePackageClasses() for a type-safe alternative to String-based package names.
      Default:
      {}
    • basePackageClasses

      @AliasFor(annotation=EnableJpaRepositories.class) Class<?>[] basePackageClasses
      Type-safe alternative to basePackages() for specifying the packages to scan for annotated components. The package of each class specified will be scanned. Consider creating a special no-op marker class or interface in each package that serves no purpose other than being referenced by this attribute.
      Default:
      {}
    • includeFilters

      @AliasFor(annotation=EnableJpaRepositories.class) org.springframework.context.annotation.ComponentScan.Filter[] includeFilters
      Specifies which types are eligible for component scanning. Further narrows the set of candidate components from everything in basePackages() to everything in the base packages that matches the given filter or filters.
      Default:
      {}
    • excludeFilters

      @AliasFor(annotation=EnableJpaRepositories.class) org.springframework.context.annotation.ComponentScan.Filter[] excludeFilters
      Specifies which types are not eligible for component scanning.
      Default:
      {}
    • repositoryImplementationPostfix

      @AliasFor(annotation=EnableJpaRepositories.class) String repositoryImplementationPostfix
      Returns the postfix to be used when looking up custom repository implementations. Defaults to Impl. So for a repository named PersonRepository the corresponding implementation class will be looked up scanning for PersonRepositoryImpl.
      Returns:
      Default:
      "Impl"
    • namedQueriesLocation

      @AliasFor(annotation=EnableJpaRepositories.class) String namedQueriesLocation
      Configures the location of where to find the Spring Data named queries properties file. Will default to META-INF/jpa-named-queries.properties.
      Returns:
      Default:
      ""
    • queryLookupStrategy

      @AliasFor(annotation=EnableJpaRepositories.class) org.springframework.data.repository.query.QueryLookupStrategy.Key queryLookupStrategy
      Returns the key of the QueryLookupStrategy to be used for lookup queries for query methods. Defaults to QueryLookupStrategy.Key.CREATE_IF_NOT_FOUND.
      Returns:
      Default:
      CREATE_IF_NOT_FOUND
    • repositoryFactoryBeanClass

      @AliasFor(annotation=EnableJpaRepositories.class) Class<?> repositoryFactoryBeanClass
      Returns the FactoryBean class to be used for each repository instance. Defaults to JpaRepositoryFactoryBean.
      Returns:
      Default:
      org.springframework.data.envers.repository.support.EnversRevisionRepositoryFactoryBean.class
    • repositoryBaseClass

      @AliasFor(annotation=EnableJpaRepositories.class) Class<?> repositoryBaseClass
      Configure the repository base class to be used to create repository proxies for this particular configuration.
      Returns:
      Default:
      org.springframework.data.repository.config.DefaultRepositoryBaseClass.class
    • entityManagerFactoryRef

      @AliasFor(annotation=EnableJpaRepositories.class) String entityManagerFactoryRef
      Configures the name of the EntityManagerFactory bean definition to be used to create repositories discovered through this annotation. Defaults to entityManagerFactory.
      Returns:
      Default:
      "entityManagerFactory"
    • transactionManagerRef

      @AliasFor(annotation=EnableJpaRepositories.class) String transactionManagerRef
      Configures the name of the PlatformTransactionManager bean definition to be used to create repositories discovered through this annotation. Defaults to transactionManager.
      Returns:
      Default:
      "transactionManager"
    • considerNestedRepositories

      @AliasFor(annotation=EnableJpaRepositories.class) boolean considerNestedRepositories
      Configures whether nested repository-interfaces (e.g. defined as inner classes) should be discovered by the repositories infrastructure.
      Default:
      false
    • enableDefaultTransactions

      @AliasFor(annotation=EnableJpaRepositories.class) boolean enableDefaultTransactions
      Configures whether to enable default transactions for Spring Data JPA repositories. Defaults to true. If disabled, repositories must be used behind a facade that's configuring transactions (e.g. using Spring's annotation driven transaction facilities) or repository methods have to be used to demarcate transactions.
      Returns:
      whether to enable default transactions, defaults to true.
      Default:
      true
    • bootstrapMode

      @AliasFor(annotation=EnableJpaRepositories.class) org.springframework.data.repository.config.BootstrapMode bootstrapMode
      Configures when the repositories are initialized in the bootstrap lifecycle. BootstrapMode.DEFAULT (default) means eager initialization except all repository interfaces annotated with Lazy, BootstrapMode.LAZY means lazy by default including injection of lazy-initialization proxies into client beans so that those can be instantiated but will only trigger the initialization upon first repository usage (i.e a method invocation on it). This means repositories can still be uninitialized when the application context has completed its bootstrap. BootstrapMode.DEFERRED is fundamentally the same as BootstrapMode.LAZY, but triggers repository initialization when the application context finishes its bootstrap.
      Returns:
      Default:
      DEFAULT
    • escapeCharacter

      @AliasFor(annotation=EnableJpaRepositories.class) char escapeCharacter
      Configures what character is used to escape the wildcards _ and % in derived queries with contains, startsWith or endsWith clauses.
      Returns:
      a single character used for escaping.
      Default:
      '\\'