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

xsd.orm_1_0.xsd Maven / Gradle / Ivy





  
    
      @(#)orm_1_0.xsd 1.0  Feb 14 2006
    
  

  
    

      DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.

      Copyright 2005-2007 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 an 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 or named-native-query
        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 then 
        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 or secondary tables
            that apply to the persistence unit
        catalog - Used as the catalog for all tables or secondary tables
            that apply to the persistence unit
        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 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 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.

      
    
    
      
        
        
      
      
      
      
      
      
      
      
      
    
  

  

  
    
      

        This element determines how the persistence provider accesses the
        state of an entity or embedded object.

      
    
    
      
      
    
  

  

  
    
      

        @Target({TYPE}) @Retention(RUNTIME)
        public @interface EntityListeners {
          Class[] value();
        }

      
    
    
      
    
  

  

  
    
      

        Defines an entity listener to be invoked at lifecycle events
        for the entities that list this listener.

      
    
    
      
      
      
      
      
      
      
    
    
  

  

  
    
      

        @Target({METHOD}) @Retention(RUNTIME)
        public @interface PrePersist {}

      
    
    
  

  

  
    
      

        @Target({METHOD}) @Retention(RUNTIME)
        public @interface PostPersist {}

      
    
    
  

  

  
    
      

        @Target({METHOD}) @Retention(RUNTIME)
        public @interface PreRemove {}

      
    
    
  

  

  
    
      

        @Target({METHOD}) @Retention(RUNTIME)
        public @interface PostRemove {}

      
    
    
  

  

  
    
      

        @Target({METHOD}) @Retention(RUNTIME)
        public @interface PreUpdate {}

      
    
    
  

  

  
    
      

        @Target({METHOD}) @Retention(RUNTIME)
        public @interface PostUpdate {}

      
    
    
  

  

  
    
      

        @Target({METHOD}) @Retention(RUNTIME)
        public @interface PostLoad {}

      
    
    
  

  

  
    
      

        @Target({}) @Retention(RUNTIME) 
        public @interface QueryHint {
          String name();
          String value();
        }

      
    
    
    
  

  

  
    
      

        @Target({TYPE}) @Retention(RUNTIME)
        public @interface NamedQuery {
          String name();
          String query();
          QueryHint[] hints() default {};
        }

      
    
    
      
      
    
    
  

  

  
    
      

        @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 SqlResultSetMapping {
          String name();
          EntityResult[] entities() default {};
          ColumnResult[] columns() default {};
        }

      
    
    
      
      
    
    
  

  

  
    
      

        @Target({}) @Retention(RUNTIME)
        public @interface EntityResult {
          Class entityClass();
          FieldResult[] fields() default {};
          String discriminatorColumn() default "";
        }

      
    
    
      
    
    
    
  

  

  
    
      

        @Target({}) @Retention(RUNTIME)
        public @interface FieldResult {
          String name();
          String column();
        }

      
    
    
    
  

  

  
    
      

        @Target({}) @Retention(RUNTIME)
        public @interface ColumnResult {
          String name();
        }

      
    
    
  

  

  
    
      

        @Target({TYPE}) @Retention(RUNTIME)
        public @interface Table {
          String name() default "";
          String catalog() default "";
          String schema() default "";
          UniqueConstraint[] uniqueConstraints() default {};
        }

      
    
    
      
    
    
    
    
  

  

  
    
      

        @Target({TYPE}) @Retention(RUNTIME)
        public @interface SecondaryTable {
          String name();
          String catalog() default "";
          String schema() default "";
          PrimaryKeyJoinColumn[] pkJoinColumns() default {};
          UniqueConstraint[] uniqueConstraints() default {};
         }

       
     
     
       
       
    
    
    
    
  

  

  
    
      

        @Target({}) @Retention(RUNTIME)
        public @interface UniqueConstraint {
          String[] columnNames();
        }

      
    
    
      
    
  

  

  
    
      

        @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({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 "";
        }

      
    
    
    
    
    
    
    
    
    
  

  

  
    
      

        public enum GenerationType { TABLE, SEQUENCE, IDENTITY, AUTO };

      
    
    
      
      
      
      
    
  

  

  
    
      

        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
        public @interface AttributeOverride {
          String name();
          Column column();
        }

      
    
    
      
    
    
  

  

  
    
      

        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
        public @interface AssociationOverride {
          String name();
          JoinColumn[] joinColumns();
        }

      
    
    
      
    
    
  

  

  
    
      

        @Target({TYPE}) @Retention(RUNTIME)
        public @interface IdClass {
          Class value();
        }

      
    
    
  

  

  
    
      

        @Target({METHOD, FIELD}) @Retention(RUNTIME)
        public @interface Id {}

      
    
    
      
      
      
      
      
    
    
  

  

  
    
      

        @Target({METHOD, FIELD}) @Retention(RUNTIME)
        public @interface EmbeddedId {}

      
    
    
      
    
    
  

  

  
    
      

        @Target({METHOD, FIELD}) @Retention(RUNTIME)
        public @interface Transient {}

      
    
    
  

  

  
    
      

        @Target({METHOD, FIELD}) @Retention(RUNTIME)
        public @interface Version {}

      
    
    
      
      
    
    
  

  

  
    
      

        @Target({METHOD, FIELD}) @Retention(RUNTIME)
        public @interface Basic {
          FetchType fetch() default EAGER;
          boolean optional() default true;
        }

      
    
    
      
      
        
        
        
      
    
    
    
    
  

  

  
    
      

        public enum FetchType { LAZY, EAGER };

      
    
    
      
      
    
  

  

  
    
      

        @Target({METHOD, FIELD}) @Retention(RUNTIME)
        public @interface Lob {}

      
    
  

  

  
    
      

        @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 Enumerated {
          EnumType value() default ORDINAL;
        }

      
    
    
  

  

  
    
      

        public enum EnumType {
          ORDINAL,
          STRING
        }

      
    
    
      
      
    
  

  

  
    
      

        @Target({METHOD, FIELD}) @Retention(RUNTIME)
        public @interface ManyToOne {
          Class targetEntity() default void.class;
          CascadeType[] cascade() default {};
          FetchType fetch() default EAGER;
          boolean optional() default true;
        }

      
    
    
             
        
        
             
      
    
    
    
    
    
  

  

  
    
      

        public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH};

      
    
    
      
      
      
      
      
    
  

  

  
    
      

        @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 "";
        }

      
    
    
      
        
        
        
      
      
    
    
    
    
    
    
  

  

  
    
      

        @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 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 ManyToMany {
          Class targetEntity() default void.class;
          CascadeType[] cascade() default {};
          FetchType fetch() default LAZY;
          String mappedBy() default "";
        }

      
    
    
      
      
      
      
    
    
    
    
    
  

  

  
    
      

        @Target({METHOD, FIELD}) @Retention(RUNTIME)
        public @interface GeneratedValue {
          GenerationType strategy() default AUTO;
          String generator() default "";
        }

      
    
    
    
  

  

  
    
      

        @Target({METHOD, FIELD}) @Retention(RUNTIME)
        public @interface MapKey {
          String name() default "";
        }

      
    
    
  

  

  
    
      

        @Target({METHOD, FIELD}) @Retention(RUNTIME)
        public @interface OrderBy {
          String value() default "";
        }

      
    
    
  

  

  
    
      

        @Target({TYPE}) @Retention(RUNTIME)
        public @interface Inheritance {
          InheritanceType strategy() default SINGLE_TABLE;
        }

      
    
    
  

  

  
    
      

        public enum InheritanceType
          { SINGLE_TABLE, JOINED, TABLE_PER_CLASS};

      
    
    
      
      
      
    
  

  

  
    
      

        @Target({TYPE}) @Retention(RUNTIME)
        public @interface DiscriminatorValue {
          String value();
        }

      
    
    
  

  

  
    
      

        public enum DiscriminatorType { STRING, CHAR, INTEGER };

      
    
    
      
      
      
    
  

  

  
    
      

        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
        public @interface PrimaryKeyJoinColumn {
          String name() default "";
          String referencedColumnName() default "";
          String columnDefinition() default "";
        }

      
    
    
    
    
  

  

  
    
      

        @Target({TYPE}) @Retention(RUNTIME)
        public @interface DiscriminatorColumn {
          String name() default "DTYPE";
          DiscriminatorType discriminatorType() default STRING;
          String columnDefinition() default "";
          int length() default 31;
        }

      
    
    
    
    
    
  

  

  
    
      

        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 {}

      
    
    
      
    
    
  

  

  
    
      

        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, METHOD, FIELD}) @Retention(RUNTIME)
        public @interface SequenceGenerator {
          String name();
          String sequenceName() default "";
          int initialValue() default 1;
          int allocationSize() default 50;
        }

      
    
    
    
    
    
  

  

  
    
      

        @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 {};
        }

      
    
    
      
    
    
    
    
    
    
    
    
    
    
  








© 2015 - 2024 Weber Informatics LLC | Privacy Policy