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 Data MongoDB, Neo4j, Cassandra and Couchbase 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:
  • Element Details

    • value

      @AliasFor("basePackages") String[] value
      Alias for the basePackages() 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

      @AliasFor("value") String[] 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<?>[] basePackageClasses
      Type-safe alternative to basePackages() 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:
      {}