All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.openjpa.persistence.orm_2_0-xsd.rsrc Maven / Gradle / Ivy

There is a newer version: 4.0.0
Show newest version




    
        
            @(#)orm_2_0.xsd 2.0 October 1 2009
        
    

  
    

          DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.

          Copyright 2005-2009 Sun Microsystems, Inc. All rights reserved.

          The contents of this file are subject to the terms of either the
          GNU General Public License Version 2 only ("GPL") or the Common
          Development and Distribution License("CDDL") (collectively, the
          "License").  You may not use this file except in compliance with
          the License. You can obtain a copy of the License at
          https://glassfish.dev.java.net/public/CDDL+GPL.html or
          glassfish/bootstrap/legal/LICENSE.txt.  See the License for the
          specific language governing permissions and limitations under the
          License.

          When distributing the software, include this License Header
          Notice in each file and include the License file at
          glassfish/bootstrap/legal/LICENSE.txt.  Sun designates this
          particular file as subject to the "Classpath" exception as
          provided by Sun in the GPL Version 2 section of the License file
          that accompanied this code.  If applicable, add the following
          below the License Header, with the fields enclosed by brackets []
          replaced by your own identifying information:
          "Portions Copyrighted [year] [name of copyright owner]"

          Contributor(s):

          If you wish your version of this file to be governed by only the
          CDDL or only the GPL Version 2, indicate your decision by adding
          "[Contributor] elects to include this software in this
          distribution under the [CDDL or GPL Version 2] license."  If you
          don't indicate a single choice of license, a recipient has the
          option to distribute your version of this file under either the
          CDDL, the GPL Version 2 or to extend the choice of license to its
          licensees as provided above.  However, if you add GPL Version 2
          code and therefore, elected the GPL Version 2 license, then the
          option applies only if the new code is made subject to such
          option by the copyright holder.

        
    

    
        
            ...
            
        ]]>
    

    
    
        
            
        
    
    
    
        
            
                
                    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, named-query,
                    named-native-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 also
                    undefined to have more than one named-query,
                    named-native-query, or
                    result-set-mapping of the same name 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.
            
        
        
            
            
        
    
    
    
        
            
                @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
                public @interface AssociationOverride {
                String name();
                JoinColumn[] joinColumns() default{};
                JoinTable joinTable() default @JoinTable;
                }
            
        
        
            
            
                
                
            
        
        
    
    
    
        
            
                @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 EAGER;
                boolean optional() default true;
                }
            
        
        
            
            
                
                
                
            
        
        
        
        
        
    
    
    
        
            
                public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH,
                DETACH};
            
        
        
            
            
            
            
            
            
        
    
    
    
        
            
                @Target({METHOD, FIELD}) @Retention(RUNTIME)
                public @interface CollectionTable {
                String name() default "";
                String catalog() default "";
                String schema() default "";
                JoinColumn[] joinColumns() default {};
                UniqueConstraint[] uniqueConstraints() 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 table() default "";
                int length() default 255;
                int precision() default 0; // decimal precision
                int scale() default 0; // decimal scale
                }
            
        
        
        
        
        
        
        
        
        
        
        
    
    
    
        
            
                @Target({}) @Retention(RUNTIME)
                public @interface ColumnResult {
                String name();
                }
            
        
        
    
    
    
        
            
                @Target({TYPE}) @Retention(RUNTIME)
                public @interface DiscriminatorColumn {
                String name() default "DTYPE";
                DiscriminatorType discriminatorType() default STRING;
                String columnDefinition() default "";
                int length() default 31;
                }
            
        
        
        
        
        
    
    
    
        
            
                public enum DiscriminatorType { STRING, CHAR, INTEGER };
            
        
        
            
            
            
        
    
    
    
        
            
                @Target({TYPE}) @Retention(RUNTIME)
                public @interface DiscriminatorValue {
                String value();
                }
            
        
        
    
    
    
        
            
                @Target({METHOD, FIELD}) @Retention(RUNTIME)
                public @interface ElementCollection {
                Class targetClass() default void.class;
                FetchType fetch() default 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.
            
        
        
            
            
            
            
            
            
            
            
        
        
    
    
    
        
            
                @Target({TYPE}) @Retention(RUNTIME)
                public @interface EntityListeners {
                Class[] value();
                }
            
        
        
            
        
    
    
    
        
            
                @Target({}) @Retention(RUNTIME)
                public @interface EntityResult {
                Class entityClass();
                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({METHOD, FIELD}) @Retention(RUNTIME)
                public @interface GeneratedValue {
                GenerationType strategy() default AUTO;
                String generator() default "";
                }
            
        
        
        
    
    
    
        
            
                public enum GenerationType { TABLE, SEQUENCE, IDENTITY, AUTO };
            
        
        
            
            
            
            
        
    
    
    
        
            
                @Target({METHOD, FIELD}) @Retention(RUNTIME)
                public @interface Id {}
            
        
        
            
            
            
            
            
        
        
        
    
    
    
        
            
                @Target({TYPE}) @Retention(RUNTIME)
                public @interface IdClass {
                Class value();
                }
            
        
        
    
    
    
        
            
                @Target({TYPE}) @Retention(RUNTIME)
                public @interface Inheritance {
                InheritanceType strategy() default SINGLE_TABLE;
                }
            
        
        
    
    
    
        
            
                public enum InheritanceType
                { SINGLE_TABLE, JOINED, TABLE_PER_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 table() default "";
                }
            
        
        
        
        
        
        
        
        
        
    
    
    
        
            
                @Target({METHOD, FIELD}) @Retention(RUNTIME)
                public @interface JoinTable {
                String name() default "";
                String catalog() default "";
                String schema() default "";
                JoinColumn[] joinColumns() default {};
                JoinColumn[] inverseJoinColumns() default {};
                UniqueConstraint[] uniqueConstraints() default {};
                }
            
        
        
            
            
            
        
        
        
        
    
    
    
        
            
                @Target({METHOD, FIELD}) @Retention(RUNTIME)
                public @interface Lob {}
            
        
    
    
    
        
            
                public enum LockModeType { READ, WRITE, OPTIMISTIC,
                OPTIMISTIC_FORCE_INCREMENT, PESSIMISTIC_READ,
                PESSIMISTIC_WRITE,
                PESSIMISTIC_FORCE_INCREMENT, NONE};
            
        
        
            
            
            
            
            
            
            
            
        
    
    
    
        
            
                @Target({METHOD, FIELD}) @Retention(RUNTIME)
                public @interface ManyToMany {
                Class targetEntity() default void.class;
                CascadeType[] cascade() default {};
                FetchType fetch() default LAZY;
                String mappedBy() default "";
                }
            
        
        
            
                
                
            
            
                
                
                    
                    
                        
                        
                        
                    
                    
                        
                        
                    
                
            
            
            
        
        
        
        
        
        
    
    
    
        
            
                @Target({METHOD, FIELD}) @Retention(RUNTIME)
                public @interface ManyToOne {
                Class targetEntity() default void.class;
                CascadeType[] cascade() default {};
                FetchType fetch() default EAGER;
                boolean optional() default true;
                }
            
        
        
            
                
                
            
            
        
        
        
        
        
        
        
        
    
    
    
        
            
                @Target({METHOD, FIELD}) @Retention(RUNTIME)
                public @interface MapKey {
                String name() default "";
                }
            
        
        
    
    
    
        
            
                @Target({METHOD, FIELD}) @Retention(RUNTIME)
                public @interface MapKeyClass {
                Class 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 table() default "";
                int length() default 255;
                int precision() default 0; // decimal precision
                int scale() default 0; // decimal scale
                }
            
        
        
        
        
        
        
        
        
        
        
        
    
    
    
        
            
                @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 table() 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({TYPE}) @Retention(RUNTIME)
                public @interface NamedNativeQuery {
                String name();
                String query();
                QueryHint[] hints() default {};
                Class resultClass() default void.class;
                String resultSetMapping() default ""; //named SqlResultSetMapping
                }
            
        
        
            
            
            
        
        
        
        
    
    
    
        
            
                @Target({TYPE}) @Retention(RUNTIME)
                public @interface NamedQuery {
                String name();
                String query();
                LockModeType lockMode() default NONE;
                QueryHint[] hints() default {};
                }
            
        
        
            
            
            
            
        
        
    
    
    
        
            
                @Target({METHOD, FIELD}) @Retention(RUNTIME)
                public @interface OneToMany {
                Class targetEntity() default void.class;
                CascadeType[] cascade() default {};
                FetchType fetch() default LAZY;
                String mappedBy() default "";
                }
            
        
        
            
                
                
            
            
                
                
                    
                    
                        
                        
                        
                    
                    
                        
                        
                    
                
            
            
                
                
            
            
        
        
        
        
        
        
        
    
    
    
        
            
                @Target({METHOD, FIELD}) @Retention(RUNTIME)
                public @interface OneToOne {
                Class targetEntity() default void.class;
                CascadeType[] cascade() default {};
                FetchType fetch() default 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 "";
                }
            
        
        
        
        
        
        
    
    
    
        
            
                @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 {}
            
        
        
            
        
        
    
    
    
        
            
                @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
                public @interface PrimaryKeyJoinColumn {
                String name() default "";
                String referencedColumnName() default "";
                String columnDefinition() default "";
                }
            
        
        
        
        
    
    
    
        
            
                @Target({}) @Retention(RUNTIME)
                public @interface QueryHint {
                String name();
                String value();
                }
            
        
        
            
        
        
        
    
    
    
        
            
                @Target({TYPE}) @Retention(RUNTIME)
                public @interface SecondaryTable {
                String name();
                String catalog() default "";
                String schema() default "";
                PrimaryKeyJoinColumn[] pkJoinColumns() default {};
                UniqueConstraint[] uniqueConstraints() default {};
                }
            
        
        
            
            
        
        
        
        
    
    
    
        
            
                @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
                public @interface SequenceGenerator {
                String name();
                String sequenceName() default "";
                String catalog() default "";
                String schema() default "";
                int initialValue() default 1;
                int allocationSize() default 50;
                }
            
        
        
            
        
        
        
        
        
        
        
    
    
    
        
            
                @Target({TYPE}) @Retention(RUNTIME)
                public @interface SqlResultSetMapping {
                String name();
                EntityResult[] entities() default {};
                ColumnResult[] columns() default {};
                }
            
        
        
            
            
            
        
        
    
    
    
        
            
                @Target({TYPE}) @Retention(RUNTIME)
                public @interface Table {
                String name() default "";
                String catalog() default "";
                String schema() default "";
                UniqueConstraint[] uniqueConstraints() default {};
                }
            
        
        
            
        
        
        
        
    
    
    
        
            
                @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
                public @interface TableGenerator {
                String name();
                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 {};
                }
            
        
        
            
            
        
        
        
        
        
        
        
        
        
        
    
    
    
        
            
                @Target({METHOD, FIELD}) @Retention(RUNTIME)
                public @interface Temporal {
                TemporalType value();
                }
            
        
        
    
    
    
        
            
                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();
                }
            
        
        
            
        
        
    
    
    
        
            
                @Target({METHOD, FIELD}) @Retention(RUNTIME)
                public @interface Version {}
            
        
        
            
            
        
        
        
    





© 2015 - 2024 Weber Informatics LLC | Privacy Policy