Designates an annotation as an entity-defining annotation type within the
Jakarta Data framework.
Annotations marked with EntityDefining are recognized by annotation
processors, CDI extensions, and other components of the Jakarta Data
framework as declaring entity types. Jakarta Data providers and persistence
models that provide custom entity-defining annotations (entity annotations
other than jakarta.persistence.Entity and
jakarta.nosql.Entity) must annotate each custom entity-defining
annotation with this annotation. Applications must not use this annotation
directly.
This allows other Jakarta Data providers and tools to recognize and process entities declared with custom entity-defining annotations.
Example of defining a custom entity annotation by a provider:
@EntityDefining
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface CustomEntity {
}
Example usage of a provider-defined custom entity annotation:
@CustomEntity
public class Book {
// Implementation details here
}