Module spring.data.envers
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:
-
EnableJpaRepositoriesAliasFor
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionClass<?>[]Type-safe alternative tobasePackages()for specifying the packages to scan for annotated components.String[]Base packages to scan for annotated components.Configures when the repositories are initialized in the bootstrap lifecycle.booleanConfigures whether nested repository-interfaces (e.g. defined as inner classes) should be discovered by the repositories infrastructure.booleanConfigures whether to enable default transactions for Spring Data JPA repositories.Configures the name of theEntityManagerFactorybean definition to be used to create repositories discovered through this annotation.charConfigures what character is used to escape the wildcards _ and % in derived queries with contains, startsWith or endsWith clauses.Specifies which types are not eligible for component scanning.Specifies which types are eligible for component scanning.Configures the location of where to find the Spring Data named queries properties file.Class<? extends BeanNameGenerator>Configure a specificBeanNameGeneratorto be used when creating the repository beans.Returns the key of theQueryLookupStrategyto be used for lookup queries for query methods.Class<?>Configure the repository base class to be used to create repository proxies for this particular configuration.Class<?>Returns theFactoryBeanclass to be used for each repository instance.Returns the postfix to be used when looking up custom repository implementations.Configures the name of thePlatformTransactionManagerbean definition to be used to create repositories discovered through this annotation.String[]Alias for thebasePackages()attribute.
-
Element Details
-
value
@AliasFor(annotation=org.springframework.data.jpa.repository.config.EnableJpaRepositories.class) String[] valueAlias for thebasePackages()attribute. Allows for more concise annotation declarations e.g.:@EnableJpaRepositories("org.my.pkg")instead of@EnableEnversRepositories(basePackages="org.my.pkg").- Default:
- {}
-
basePackages
@AliasFor(annotation=org.springframework.data.jpa.repository.config.EnableJpaRepositories.class) String[] basePackagesBase packages to scan for annotated components.value()is an alias for (and mutually exclusive with) this attribute. UsebasePackageClasses()for a type-safe alternative to String-based package names.- Default:
- {}
-
basePackageClasses
@AliasFor(annotation=org.springframework.data.jpa.repository.config.EnableJpaRepositories.class) Class<?>[] basePackageClassesType-safe alternative tobasePackages()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=org.springframework.data.jpa.repository.config.EnableJpaRepositories.class) ComponentScan.Filter[] includeFiltersSpecifies which types are eligible for component scanning. Further narrows the set of candidate components from everything inbasePackages()to everything in the base packages that matches the given filter or filters.- Default:
- {}
-
excludeFilters
@AliasFor(annotation=org.springframework.data.jpa.repository.config.EnableJpaRepositories.class) ComponentScan.Filter[] excludeFiltersSpecifies which types are not eligible for component scanning.- Default:
- {}
-
repositoryImplementationPostfix
@AliasFor(annotation=org.springframework.data.jpa.repository.config.EnableJpaRepositories.class) String repositoryImplementationPostfixReturns the postfix to be used when looking up custom repository implementations. Defaults to Impl. So for a repository namedPersonRepositorythe corresponding implementation class will be looked up scanning forPersonRepositoryImpl.- Returns:
- Default:
- "Impl"
-
namedQueriesLocation
@AliasFor(annotation=org.springframework.data.jpa.repository.config.EnableJpaRepositories.class) String namedQueriesLocationConfigures the location of where to find the Spring Data named queries properties file. Will default toMETA-INF/jpa-named-queries.properties.- Returns:
- Default:
- ""
-
queryLookupStrategy
@AliasFor(annotation=org.springframework.data.jpa.repository.config.EnableJpaRepositories.class) QueryLookupStrategy.Key queryLookupStrategyReturns the key of theQueryLookupStrategyto be used for lookup queries for query methods. Defaults toQueryLookupStrategy.Key.CREATE_IF_NOT_FOUND.- Returns:
- Default:
- CREATE_IF_NOT_FOUND
-
repositoryFactoryBeanClass
@AliasFor(annotation=org.springframework.data.jpa.repository.config.EnableJpaRepositories.class) Class<?> repositoryFactoryBeanClassReturns theFactoryBeanclass to be used for each repository instance. Defaults toJpaRepositoryFactoryBean.- Returns:
- Default:
- org.springframework.data.envers.repository.support.EnversRevisionRepositoryFactoryBean.class
-
repositoryBaseClass
@AliasFor(annotation=org.springframework.data.jpa.repository.config.EnableJpaRepositories.class) Class<?> repositoryBaseClassConfigure the repository base class to be used to create repository proxies for this particular configuration.- Returns:
- Default:
- org.springframework.data.repository.config.DefaultRepositoryBaseClass.class
-
nameGenerator
@AliasFor(annotation=org.springframework.data.jpa.repository.config.EnableJpaRepositories.class) Class<? extends BeanNameGenerator> nameGeneratorConfigure a specificBeanNameGeneratorto be used when creating the repository beans.- Returns:
- the
BeanNameGeneratorto be used or the baseBeanNameGeneratorinterface to indicate context default. - Since:
- 3.4
- See Also:
-
EnableJpaRepositories.nameGenerator()
- Default:
- org.springframework.beans.factory.support.BeanNameGenerator.class
-
entityManagerFactoryRef
@AliasFor(annotation=org.springframework.data.jpa.repository.config.EnableJpaRepositories.class) String entityManagerFactoryRefConfigures the name of theEntityManagerFactorybean definition to be used to create repositories discovered through this annotation. Defaults toentityManagerFactory.- Returns:
- Default:
- "entityManagerFactory"
-
transactionManagerRef
@AliasFor(annotation=org.springframework.data.jpa.repository.config.EnableJpaRepositories.class) String transactionManagerRefConfigures the name of thePlatformTransactionManagerbean definition to be used to create repositories discovered through this annotation. Defaults totransactionManager.- Returns:
- Default:
- "transactionManager"
-
considerNestedRepositories
@AliasFor(annotation=org.springframework.data.jpa.repository.config.EnableJpaRepositories.class) boolean considerNestedRepositoriesConfigures whether nested repository-interfaces (e.g. defined as inner classes) should be discovered by the repositories infrastructure.- Default:
- false
-
enableDefaultTransactions
@AliasFor(annotation=org.springframework.data.jpa.repository.config.EnableJpaRepositories.class) boolean enableDefaultTransactionsConfigures 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=org.springframework.data.jpa.repository.config.EnableJpaRepositories.class) BootstrapMode bootstrapModeConfigures when the repositories are initialized in the bootstrap lifecycle.BootstrapMode.DEFAULT(default) means eager initialization except all repository interfaces annotated withLazy,BootstrapMode.LAZYmeans 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.DEFERREDis fundamentally the same asBootstrapMode.LAZY, but triggers repository initialization when the application context finishes its bootstrap.- Returns:
- Default:
- DEFAULT
-
escapeCharacter
@AliasFor(annotation=org.springframework.data.jpa.repository.config.EnableJpaRepositories.class) char escapeCharacterConfigures 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:
- '\\'
-