Package io.jmix.core.repository
Annotation Interface EnableJmixDataRepositories
@Target(TYPE)
@Retention(RUNTIME)
@Documented
@Inherited
@Import(JmixRepositoriesRegistrar.class)
public @interface EnableJmixDataRepositories
Annotation to enable data repositories. Will scan the package of the annotated configuration class for Jmix data
repositories by default.
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionClass<?>[]
Type-safe alternative tobasePackages()
for specifying the packages to scan for annotated components.String[]
Base packages to scan for annotated components.boolean
Configures whether nested repository-interfaces (e.g.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 theQueryLookupStrategy
to 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 theFactoryBean
class to be used for each repository instance.Returns the postfix to be used when looking up custom repository implementations.String[]
Alias for thebasePackages()
attribute.
-
Element Details
-
value
String[] valueAlias for thebasePackages()
attribute. Allows for more concise annotation declarations e.g.:@EnableJmixDataRepositories("org.my.pkg")
instead of@EnableJmixDataRepositories(basePackages="org.my.pkg")
.- Returns:
- list of packages that should be scanned
- Default:
- {}
-
basePackages
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.- Returns:
- list of packages that should be scanned
- Default:
- {}
-
basePackageClasses
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.- Returns:
- list of packages that should be scanned
- Default:
- {}
-
excludeFilters
org.springframework.context.annotation.ComponentScan.Filter[] excludeFiltersSpecifies which types are not eligible for component scanning.- Returns:
- filters that exclude some classes from scanning
- Default:
- {}
-
includeFilters
org.springframework.context.annotation.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.- Returns:
- filters that include classes into scanning
- Default:
- {}
-
repositoryImplementationPostfix
String repositoryImplementationPostfixReturns the postfix to be used when looking up custom repository implementations. Defaults to Impl. So for a repository namedPersonRepository
the corresponding implementation class will be looked up scanning forPersonRepositoryImpl
.- Returns:
- Postfix to be used when looking up custom repository implementations.
- Default:
- "Impl"
-
namedQueriesLocation
String namedQueriesLocationConfigures the location of where to find the Spring Data named queries properties file.- Returns:
- Location of where to find the Spring Data named queries properties file.
- Default:
- ""
-
queryLookupStrategy
org.springframework.data.repository.query.QueryLookupStrategy.Key queryLookupStrategyReturns the key of theQueryLookupStrategy
to be used for lookup queries for query methods. Defaults toQueryLookupStrategy.Key.CREATE_IF_NOT_FOUND
.- Returns:
- Key of the
QueryLookupStrategy
to be used for lookup queries for query methods.
- Default:
- CREATE_IF_NOT_FOUND
-
repositoryFactoryBeanClass
Class<?> repositoryFactoryBeanClassReturns theFactoryBean
class to be used for each repository instance. Defaults toJmixRepositoryFactoryBean
.- Returns:
FactoryBean
class to be used for each repository instance.
- Default:
- io.jmix.core.impl.repository.support.JmixRepositoryFactoryBean.class
-
repositoryBaseClass
Class<?> repositoryBaseClassConfigure the repository base class to be used to create repository proxies for this particular configuration.- Returns:
- Repository base class to be used to create repository proxies for this particular configuration.
- Default:
- io.jmix.core.impl.repository.support.JmixDataRepositoryImpl.class
-
considerNestedRepositories
boolean considerNestedRepositoriesConfigures whether nested repository-interfaces (e.g. defined as inner classes) should be discovered by the repository infrastructure.- Returns:
- Flag that indicates if we should consider nested repository during scan
- Default:
- false
-