⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 orm_1_0.xsd

📁 hibernate3.2.6源码和jar包
💻 XSD
📖 第 1 页 / 共 4 页
字号:
        <xsd:attribute name="method-name" type="xsd:string" use="required"/>
    </xsd:complexType>

    <!-- **************************************************** -->

    <xsd:complexType name="post-remove">
        <xsd:annotation>
            <xsd:documentation>

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

            </xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="method-name" type="xsd:string" use="required"/>
    </xsd:complexType>

    <!-- **************************************************** -->

    <xsd:complexType name="pre-update">
        <xsd:annotation>
            <xsd:documentation>

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

            </xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="method-name" type="xsd:string" use="required"/>
    </xsd:complexType>

    <!-- **************************************************** -->

    <xsd:complexType name="post-update">
        <xsd:annotation>
            <xsd:documentation>

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

            </xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="method-name" type="xsd:string" use="required"/>
    </xsd:complexType>

    <!-- **************************************************** -->

    <xsd:complexType name="post-load">
        <xsd:annotation>
            <xsd:documentation>

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

            </xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="method-name" type="xsd:string" use="required"/>
    </xsd:complexType>

    <!-- **************************************************** -->

    <xsd:complexType name="query-hint">
        <xsd:annotation>
            <xsd:documentation>

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

            </xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="name" type="xsd:string" use="required"/>
        <xsd:attribute name="value" type="xsd:string" use="required"/>
    </xsd:complexType>

    <!-- **************************************************** -->

    <xsd:complexType name="named-query">
        <xsd:annotation>
            <xsd:documentation>

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

            </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="query" type="xsd:string"/>
            <xsd:element name="hint" type="orm:query-hint"
                         minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="name" type="xsd:string" use="required"/>
    </xsd:complexType>

    <!-- **************************************************** -->

    <xsd:complexType name="named-native-query">
        <xsd:annotation>
            <xsd:documentation>

                @Target({TYPE}) @Retention(RUNTIME)
                public @interface NamedNativeQuery {
                String name();
                String query();
                QueryHint[] hints() default {};
                Class resultClass() default void.class;
                String resultSetMapping() default ""; //named SqlResultSetMapping
                }

            </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="query" type="xsd:string"/>
            <xsd:element name="hint" type="orm:query-hint"
                         minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="name" type="xsd:string" use="required"/>
        <xsd:attribute name="result-class" type="xsd:string"/>
        <xsd:attribute name="result-set-mapping" type="xsd:string"/>
    </xsd:complexType>

    <!-- **************************************************** -->

    <xsd:complexType name="sql-result-set-mapping">
        <xsd:annotation>
            <xsd:documentation>

                @Target({TYPE}) @Retention(RUNTIME)
                public @interface SqlResultSetMapping {
                String name();
                EntityResult[] entities() default {};
                ColumnResult[] columns() default {};
                }

            </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="entity-result" type="orm:entity-result"
                         minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="column-result" type="orm:column-result"
                         minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="name" type="xsd:string" use="required"/>
    </xsd:complexType>

    <!-- **************************************************** -->

    <xsd:complexType name="entity-result">
        <xsd:annotation>
            <xsd:documentation>

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

            </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="field-result" type="orm:field-result"
                         minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="entity-class" type="xsd:string" use="required"/>
        <xsd:attribute name="discriminator-column" type="xsd:string"/>
    </xsd:complexType>

    <!-- **************************************************** -->

    <xsd:complexType name="field-result">
        <xsd:annotation>
            <xsd:documentation>

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

            </xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="name" type="xsd:string" use="required"/>
        <xsd:attribute name="column" type="xsd:string" use="required"/>
    </xsd:complexType>

    <!-- **************************************************** -->

    <xsd:complexType name="column-result">
        <xsd:annotation>
            <xsd:documentation>

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

            </xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="name" type="xsd:string" use="required"/>
    </xsd:complexType>

    <!-- **************************************************** -->

    <xsd:complexType name="table">
        <xsd:annotation>
            <xsd:documentation>

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

            </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="unique-constraint" type="orm:unique-constraint"
                         minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="name" type="xsd:string"/>
        <xsd:attribute name="catalog" type="xsd:string"/>
        <xsd:attribute name="schema" type="xsd:string"/>
    </xsd:complexType>

    <!-- **************************************************** -->

    <xsd:complexType name="secondary-table">
        <xsd:annotation>
            <xsd:documentation>

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

            </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="primary-key-join-column"
                         type="orm:primary-key-join-column"
                         minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="unique-constraint" type="orm:unique-constraint"
                         minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="name" type="xsd:string" use="required"/>
        <xsd:attribute name="catalog" type="xsd:string"/>
        <xsd:attribute name="schema" type="xsd:string"/>
    </xsd:complexType>

    <!-- **************************************************** -->

    <xsd:complexType name="unique-constraint">
        <xsd:annotation>
            <xsd:documentation>

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

            </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="column-name" type="xsd:string"
                         maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>

    <!-- **************************************************** -->

    <xsd:complexType name="column">
        <xsd:annotation>
            <xsd:documentation>

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

            </xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="name" type="xsd:string"/>
        <xsd:attribute name="unique" type="xsd:boolean"/>
        <xsd:attribute name="nullable" type="xsd:boolean"/>
        <xsd:attribute name="insertable" type="xsd:boolean"/>
        <xsd:attribute name="updatable" type="xsd:boolean"/>
        <xsd:attribute name="column-definition" type="xsd:string"/>
        <xsd:attribute name="table" type="xsd:string"/>
        <xsd:attribute name="length" type="xsd:int"/>
        <xsd:attribute name="precision" type="xsd:int"/>
        <xsd:attribute name="scale" type="xsd:int"/>
    </xsd:complexType>

    <!-- **************************************************** -->

    <xsd:complexType name="join-column">
        <xsd:annotation>
            <xsd:documentation>

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

            </xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="name" type="xsd:string"/>
        <xsd:attribute name="referenced-column-name" type="xsd:string"/>
        <xsd:attribute name="unique" type="xsd:boolean"/>
        <xsd:attribute name="nullable" type="xsd:boolean"/>
        <xsd:attribute name="insertable" type="xsd:boolean"/>
        <xsd:attribute name="updatable" type="xsd:boolean"/>
        <xsd:attribute name="column-definition" type="xsd:string"/>
        <xsd:attribute name="table" type="xsd:string"/>
    </xsd:complexType>

    <!-- **************************************************** -->

    <xsd:simpleType name="generation-type">
        <xsd:annotation>
            <xsd:documentation>

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

            </xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:token">
            <xsd:enumeration value="TABLE"/>
            <xsd:enumeration value="SEQUENCE"/>
            <xsd:enumeration value="IDENTITY"/>
            <xsd:enumeration value="AUTO"/>
        </xsd:restriction>
    </xsd:simpleType>

    <!-- **************************************************** -->

    <xsd:complexType name="attribute-override">
        <xsd:annotation>
            <xsd:documentation>

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

            </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="column" type="orm:column"/>
        </xsd:sequence>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -