Annotation Interface EntityScan
@Target(TYPE)
@Retention(RUNTIME)
@Documented
@Import(org.springframework.boot.autoconfigure.domain.EntityScanPackages.Registrar.class)
public @interface EntityScan
Configures the base packages used by auto-configuration when scanning for entity
classes.
Using @EntityScan
will cause auto-configuration to:
- Set the
packages scanned
for JPA entities. - Set the
initial entity set
used with Spring DataMongoDB
,Neo4j
,Cassandra
andCouchbase
mapping contexts.
One of basePackageClasses()
, basePackages()
or its alias
value()
may be specified to define specific packages to scan. If specific
packages are not defined scanning will occur from the package of the class with this
annotation.
- Since:
- 1.4.0
- Author:
- Phillip Webb
- See Also:
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionClass<?>[]
Type-safe alternative tobasePackages()
for specifying the packages to scan for entities.String[]
Base packages to scan for entities.String[]
Alias for thebasePackages()
attribute.
-
Element Details
-
value
Alias for thebasePackages()
attribute. Allows for more concise annotation declarations e.g.:@EntityScan("org.my.pkg")
instead of@EntityScan(basePackages="org.my.pkg")
.- Returns:
- the base packages to scan
- Default:
- {}
-
basePackages
Base packages to scan for entities.value()
is an alias for (and mutually exclusive with) this attribute.Use
basePackageClasses()
for a type-safe alternative to String-based package names.- Returns:
- the base packages to scan
- Default:
- {}
-
basePackageClasses
Class<?>[] basePackageClassesType-safe alternative tobasePackages()
for specifying the packages to scan for entities. 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:
- classes from the base packages to scan
- Default:
- {}
-