jakarta.persistence.orm_3_2.xsd Maven / Gradle / Ivy
...
]]>
The entity-mappings element is the root element of a mapping
file. It contains the following four types of elements:
1. The persistence-unit-metadata element contains metadata
for the entire persistence unit. It is undefined if this element
occurs in multiple mapping files within the same persistence unit.
2. The package, schema, catalog and access elements apply to all of
the entity, mapped-superclass and embeddable elements defined in
the same file in which they occur.
3. The sequence-generator, table-generator, converter, named-query,
named-native-query, named-stored-procedure-query, and
sql-result-set-mapping elements are global to the persistence
unit. It is undefined to have more than one sequence-generator
or table-generator of the same name in the same or different
mapping files in a persistence unit. It is undefined to have
more than one named-query, named-native-query, sql-result-set-mapping,
or named-stored-procedure-query of the same name in the same
or different mapping files in a persistence unit. It is also
undefined to have more than one converter for the same target
type in the same or different mapping files in a persistence unit.
4. The entity, mapped-superclass and embeddable elements each define
the mapping information for a managed persistent class. The mapping
information contained in these elements may be complete or it may
be partial.
Metadata that applies to the persistence unit and not just to
the mapping file in which it is contained.
If the xml-mapping-metadata-complete element is specified,
the complete set of mapping metadata for the persistence unit
is contained in the XML mapping files for the persistence unit.
These defaults are applied to the persistence unit as a whole
unless they are overridden by local annotation or XML
element settings.
schema - Used as the schema for all tables, secondary tables, join
tables, collection tables, sequence generators, and table
generators that apply to the persistence unit
catalog - Used as the catalog for all tables, secondary tables, join
tables, collection tables, sequence generators, and table
generators that apply to the persistence unit
delimited-identifiers - Used to treat database identifiers as
delimited identifiers.
access - Used as the access type for all managed classes in
the persistence unit
cascade-persist - Adds cascade-persist to the set of cascade options
in all entity relationships of the persistence unit
entity-listeners - List of default entity listeners to be invoked
on each entity in the persistence unit.
Defines the settings and mappings for an entity. Is allowed to be
sparsely populated and used in conjunction with the annotations.
Alternatively, the metadata-complete attribute can be used to
indicate that no annotations on the entity class (and its fields
or properties) are to be processed. If this is the case then
the defaulting rules for the entity and its subelements will
be recursively applied.
@Target(TYPE) @Retention(RUNTIME)
public @interface Entity {
String name() default "";
}
This element determines how the persistence provider accesses the
state of an entity or embedded object.
@Repeatable(AssociationOverrides.class)
@Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
public @interface AssociationOverride {
String name();
JoinColumn[] joinColumns() default{};
ForeignKey foreignKey() default @ForeignKey(PROVIDER_DEFAULT);
JoinTable joinTable() default @JoinTable;
}
@Repeatable(AttributeOverrides.class)
@Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
public @interface AttributeOverride {
String name();
Column column();
}
This element contains the entity field or property mappings.
It may be sparsely populated to include only a subset of the
fields or properties. If metadata-complete for the entity is true
then the remainder of the attributes will be defaulted according
to the default rules.
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface Basic {
FetchType fetch() default FetchType.EAGER;
boolean optional() default true;
}
public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH, DETACH }
@Target({}) @Retention(RUNTIME)
public @interface CheckConstraint {
String name() default "";
String constraint();
String options() default "";
}
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface CollectionTable {
String name() default "";
String catalog() default "";
String schema() default "";
JoinColumn[] joinColumns() default {};
ForeignKey foreignKey() default @ForeignKey(ConstraintMode.PROVIDER_DEFAULT);
UniqueConstraint[] uniqueConstraints() default {};
Index[] indexes() default {};
String options() default "";
}
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface Column {
String name() default "";
boolean unique() default false;
boolean nullable() default true;
boolean insertable() default true;
boolean updatable() default true;
String columnDefinition() default "";
String options() default "";
String table() default "";
int length() default 255;
int precision() default 0; // decimal precision
int scale() default 0; // decimal scale
int secondPrecision() default -1; //fractional second precision
CheckConstraint[] check() default {};
String comment() default "";
}
type() default void.class;
}
]]>
public enum ConstraintMode { CONSTRAINT, NO_CONSTRAINT, PROVIDER_DEFAULT }
targetClass();
ColumnResult[] columns();
}
]]>
converter() default AttributeConverter.class;
String attributeName() default "";
boolean disableConversion() default false;
}
]]>
@Target({TYPE}) @Retention(RUNTIME)
public @interface Converter {
boolean autoApply() default false;
}
@Target({TYPE}) @Retention(RUNTIME)
public @interface DiscriminatorColumn {
String name() default "DTYPE";
DiscriminatorType discriminatorType() default STRING;
String columnDefinition() default "";
String options() default "";
int length() default 31;
}
public enum DiscriminatorType { STRING, CHAR, INTEGER }
@Target({TYPE}) @Retention(RUNTIME)
public @interface DiscriminatorValue {
String value();
}
targetClass() default void.class;
FetchType fetch() default FetchType.LAZY;
}
]]>
Defines the settings and mappings for embeddable objects. Is
allowed to be sparsely populated and used in conjunction with
the annotations. Alternatively, the metadata-complete attribute
can be used to indicate that no annotations are to be processed
in the class. If this is the case then the defaulting rules will
be recursively applied.
@Target({TYPE}) @Retention(RUNTIME)
public @interface Embeddable {}
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface Embedded {}
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface EmbeddedId {}
Defines an entity listener to be invoked at lifecycle events
for the entities that list this listener.
[] value();
}
]]>
entityClass();
LockModeType lockMode() default LockModeType.OPTIMISTIC;
FieldResult[] fields() default {};
String discriminatorColumn() default "";
}
]]>
public enum EnumType { ORDINAL, STRING }
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface Enumerated {
EnumType value() default ORDINAL;
}
public enum FetchType { LAZY, EAGER }
@Target({}) @Retention(RUNTIME)
public @interface FieldResult {
String name();
String column();
}
@Target({}) @Retention(RUNTIME)
public @interface ForeignKey {
String name() default "";
ConstraintMode value() default CONSTRAINT;
String foreign-key-definition() default "";
String options() default "";
}
Note that the elements that embed the use of the annotation
default this use as @ForeignKey(PROVIDER_DEFAULT).
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface GeneratedValue {
GenerationType strategy() default AUTO;
String generator() default "";
}
public enum GenerationType { TABLE, SEQUENCE, IDENTITY, UUID, AUTO }
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface Id {}
value();
}
]]>
@Target({}) @Retention(RUNTIME)
public @interface Index {
String name() default "";
String columnList();
boolean unique() default false;
String options() default "";
}
@Target({TYPE}) @Retention(RUNTIME)
public @interface Inheritance {
InheritanceType strategy() default InheritanceType.SINGLE_TABLE;
}
public enum InheritanceType { SINGLE_TABLE, TABLE_PER_CLASS, JOINED }
@Repeatable(JoinColumns.class)
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface JoinColumn {
String name() default "";
String referencedColumnName() default "";
boolean unique() default false;
boolean nullable() default true;
boolean insertable() default true;
boolean updatable() default true;
String columnDefinition() default "";
String options() default "";
String table() default "";
ForeignKey foreignKey() default @ForeignKey();
CheckConstraint[] check() default {};
String comment() default "";
}
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface JoinTable {
String name() default "";
String catalog() default "";
String schema() default "";
JoinColumn[] joinColumns() default {};
JoinColumn[] inverseJoinColumns() default {};
ForeignKey foreignKey() default @ForeignKey(ConstraintMode.PROVIDER_DEFAULT);
ForeignKey inverseForeignKey() default @ForeignKey(ConstraintMode.PROVIDER_DEFAULT);
UniqueConstraint[] uniqueConstraints() default {};
Index[] indexes() default {};
CheckConstraint[] check() default {};
String comment() default "";
String options() default "";
}
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface Lob {}
public enum LockModeType implements FindOption, RefreshOption { READ, WRITE, OPTIMISTIC, OPTIMISTIC_FORCE_INCREMENT, PESSIMISTIC_READ, PESSIMISTIC_WRITE, PESSIMISTIC_FORCE_INCREMENT, NONE}
targetEntity() default void.class;
CascadeType[] cascade() default {};
FetchType fetch() default FetchType.LAZY;
String mappedBy() default "";
}
]]>
targetEntity() default void.class;
CascadeType[] cascade() default {};
FetchType fetch() default FetchType.EAGER;
boolean optional() default true;
}
]]>
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface MapKey {
String name() default "";
}
value();
}
]]>
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface MapKeyColumn {
String name() default "";
boolean unique() default false;
boolean nullable() default false;
boolean insertable() default true;
boolean updatable() default true;
String columnDefinition() default "";
String options() default "";
String table() default "";
int length() default 255;
int precision() default 0; // decimal precision
int scale() default 0; // decimal scale
}
@Repeatable(MapKeyJoinColumns.class)
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface MapKeyJoinColumn {
String name() default "";
String referencedColumnName() default "";
boolean unique() default false;
boolean nullable() default false;
boolean insertable() default true;
boolean updatable() default true;
String columnDefinition() default "";
String options() default "";
String table() default "";
ForeignKey foreignKey() default @ForeignKey(ConstraintMode.PROVIDER_DEFAULT);
}
Defines the settings and mappings for a mapped superclass. Is
allowed to be sparsely populated and used in conjunction with
the annotations. Alternatively, the metadata-complete attribute
can be used to indicate that no annotations are to be processed
If this is the case then the defaulting rules will be recursively
applied.
@Target(TYPE) @Retention(RUNTIME)
public @interface MappedSuperclass {}
@Target({}) @Retention(RUNTIME)
public @interface NamedAttributeNode {
String value();
String subgraph() default "";
String keySubgraph() default "";
}
@Repeatable(NamedEntityGraphs.class)
@Target({TYPE}) @Retention(RUNTIME)
public @interface NamedEntityGraph {
String name() default "";
NamedAttributeNode[] attributeNodes() default {};
boolean includeAllAttributes() default false;
NamedSubgraph[] subgraphs() default {};
NamedSubGraph[] subclassSubgraphs() default {};
}
resultClass() default void.class;
String resultSetMapping() default ""; //named SqlResultSetMapping
EntityResult[] entities() default {};
ConstructorResult[] classes() default {};
ColumnResult[] columns() default {};
}
]]>
@Repeatable(NamedQueries.class)
@Target({TYPE}) @Retention(RUNTIME)
public @interface NamedQuery {
String name();
String query();
LockModeType lockMode() default LockModeType.NONE;
QueryHint[] hints() default {};
}
@Repeatable(NamedStoredProcedureQueries.class)
@Target({TYPE}) @Retention(RUNTIME)
public @interface NamedStoredProcedureQuery {
String name();
String procedureName();
StoredProcedureParameter[] parameters() default {};
Class[] resultClasses() default {};
String[] resultSetMappings() default{};
QueryHint[] hints() default {};
}
type() default void.class;
NamedAttributeNode[] attributeNodes();
}
]]>
targetEntity() default void.class;
CascadeType[] cascade() default {};
FetchType fetch() default FetchType.LAZY;
String mappedBy() default "";
boolean orphanRemoval() default false;
}
]]>
targetEntity() default void.class;
CascadeType[] cascade() default {};
FetchType fetch() default FetchType.EAGER;
boolean optional() default true;
String mappedBy() default "";
boolean orphanRemoval() default false;
}
]]>
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface OrderBy {
String value() default "";
}
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface OrderColumn {
String name() default "";
boolean nullable() default true;
boolean insertable() default true;
boolean updatable() default true;
String columnDefinition() default "";
String options() default "";
}
public enum ParameterMode { IN, INOUT, OUT, REF_CURSOR }
@Target({METHOD}) @Retention(RUNTIME)
public @interface PostLoad {}
@Target({METHOD}) @Retention(RUNTIME)
public @interface PostPersist {}
@Target({METHOD}) @Retention(RUNTIME)
public @interface PostRemove {}
@Target({METHOD}) @Retention(RUNTIME)
public @interface PostUpdate {}
@Target({METHOD}) @Retention(RUNTIME)
public @interface PrePersist {}
@Target({METHOD}) @Retention(RUNTIME)
public @interface PreRemove {}
@Target({METHOD}) @Retention(RUNTIME)
public @interface PreUpdate {}
@Repeatable(PrimaryKeyJoinColumns.class)
@Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
public @interface PrimaryKeyJoinColumn {
String name() default "";
String referencedColumnName() default "";
String columnDefinition() default "";
String options() default "";
ForeignKey foreignKey() default @ForeignKey(PROVIDER_DEFAULT);
}
@Target({}) @Retention(RUNTIME)
public @interface QueryHint {
String name();
String value();
}
@Repeatable(SecondaryTables.class)
@Target({TYPE}) @Retention(RUNTIME)
public @interface SecondaryTable {
String name();
String catalog() default "";
String schema() default "";
PrimaryKeyJoinColumn[] pkJoinColumns() default {};
ForeignKey foreignKey() default @ForeignKey(ConstraintMode.PROVIDER_DEFAULT);
UniqueConstraint[] uniqueConstraints() default {};
Index[] indexes() default {};
CheckConstraint[] check() default {};
String comment() default "";
String options() default "";
}
@Repeatable(SequenceGenerators.class)
@Target({TYPE, METHOD, FIELD, PACKAGE}) @Retention(RUNTIME)
public @interface SequenceGenerator {
String name() default "";
String sequenceName() default "";
String catalog() default "";
String schema() default "";
int initialValue() default 1;
int allocationSize() default 50;
String options() default "";
}
@Repeatable(SqlResultSetMappings.class)
@Target({TYPE}) @Retention(RUNTIME)
public @interface SqlResultSetMapping {
String name();
EntityResult[] entities() default {};
ConstructorResult[] classes() default{};
ColumnResult[] columns() default {};
}
type();
}
]]>
@Target({TYPE}) @Retention(RUNTIME)
public @interface Table {
String name() default "";
String catalog() default "";
String schema() default "";
UniqueConstraint[] uniqueConstraints() default {};
Index[] indexes() default {};
CheckConstraint[] check() default {};
String comment() default "";
String options() default "";
}
@Repeatable(TableGenerators.class)
@Target({TYPE, METHOD, FIELD, PACKAGE}) @Retention(RUNTIME)
public @interface TableGenerator {
String name() default "";
String table() default "";
String catalog() default "";
String schema() default "";
String pkColumnName() default "";
String valueColumnName() default "";
String pkColumnValue() default "";
int initialValue() default 0;
int allocationSize() default 50;
UniqueConstraint[] uniqueConstraints() default {};
Indexes[] indexes() default {};
String options() default "";
}
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface Temporal {
TemporalType value();
}
@Deprecated(since = "3.2")
public enum TemporalType {
DATE, // java.sql.Date
TIME, // java.sql.Time
TIMESTAMP // java.sql.Timestamp
}
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface Transient {}
@Target({}) @Retention(RUNTIME)
public @interface UniqueConstraint {
String name() default "";
String[] columnNames();
String options() default "";
}
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface Version {}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy