HHH-7450 reformat hibernate mapping xsd

This commit is contained in:
Strong Liu 2012-07-17 13:35:30 +08:00
parent 95a06fc49f
commit 3806705b82
1 changed files with 1335 additions and 1269 deletions

View File

@ -28,7 +28,10 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<!--
<identifier-generator.../> allows customized short-naming of IdentifierGenerator implementations.
-->
<xs:element name="identifier-generator" minOccurs="0" maxOccurs="unbounded" type="identifier-generator-element"/>
<xs:element name="identifier-generator"
minOccurs="0"
maxOccurs="unbounded"
type="identifier-generator-element"/>
<!--
<typedef.../> allows defining a customized type mapping for a Hibernate type. May
contain parameters for parameterizable types.
@ -76,12 +79,15 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<xs:element name="database-object" minOccurs="0" maxOccurs="unbounded" type="database-object-element"/>
</xs:sequence>
<xs:attribute name="auto-import" default="true" type="xs:boolean"/>
<xs:attribute name="catalog" type="xs:string"/> <!-- default: none -->
<xs:attribute name="catalog" type="xs:string"/>
<!-- default: none -->
<xs:attribute name="default-access" default="property" type="xs:string"/>
<xs:attribute name="default-cascade" default="none" type="xs:string"/>
<xs:attribute name="default-lazy" default="true" type="xs:boolean"/>
<xs:attribute name="package" type="xs:string"/> <!-- default: none -->
<xs:attribute name="schema" type="xs:string"/> <!-- default: none -->
<xs:attribute name="package" type="xs:string"/>
<!-- default: none -->
<xs:attribute name="schema" type="xs:string"/>
<!-- default: none -->
</xs:complexType>
</xs:element>
<xs:group name="query-or-sql-query">
@ -104,7 +110,8 @@ arbitrary number of queries, and import declarations of arbitrary classes.
</xs:complexType>
<xs:complexType name="import-element">
<xs:attribute name="class" use="required" type="xs:string"/>
<xs:attribute name="rename" type="xs:string"/> <!-- default: unqualified class name -->
<xs:attribute name="rename" type="xs:string"/>
<!-- default: unqualified class name -->
</xs:complexType>
<xs:complexType name="multi-tenancy-element">
<xs:sequence>
@ -192,32 +199,41 @@ arbitrary number of queries, and import declarations of arbitrary classes.
</xs:sequence>
<xs:attribute name="abstract" default="false" type="xs:boolean"/>
<xs:attribute name="batch-size" default="-1" type="xs:int"/>
<xs:attribute name="catalog" type="xs:string"/> <!-- default: none -->
<xs:attribute name="check" type="xs:string"/> <!-- default: none -->
<xs:attribute name="discriminator-value" type="xs:string"/> <!-- default: unqualified class name | none -->
<xs:attribute name="catalog" type="xs:string"/>
<!-- default: none -->
<xs:attribute name="check" type="xs:string"/>
<!-- default: none -->
<xs:attribute name="discriminator-value" type="xs:string"/>
<!-- default: unqualified class name | none -->
<xs:attribute name="dynamic-insert" default="false" type="xs:boolean"/>
<xs:attribute name="dynamic-update" default="false" type="xs:boolean"/>
<xs:attribute name="entity-name" type="xs:string"/>
<xs:attribute name="lazy" default="true" type="xs:boolean"/>
<xs:attribute name="mutable" default="true" type="xs:boolean"/>
<xs:attribute name="name" type="xs:string"/> <!-- this is the class name -->
<xs:attribute name="name" type="xs:string"/>
<!-- this is the class name -->
<xs:attribute name="node" type="xs:string"/>
<xs:attribute name="optimistic-lock" default="version" type="optimistic-lock-attribute"/>
<xs:attribute name="persister" type="xs:string"/>
<xs:attribute name="polymorphism" default="implicit" type="polymorphism-attribute"/>
<xs:attribute name="proxy" type="xs:string"/> <!-- default: no proxy interface -->
<xs:attribute name="proxy" type="xs:string"/>
<!-- default: no proxy interface -->
<xs:attribute name="rowid" type="xs:string"/>
<xs:attribute name="schema" type="xs:string"/> <!-- default: none -->
<xs:attribute name="schema" type="xs:string"/>
<!-- default: none -->
<xs:attribute name="select-before-update" default="false" type="xs:boolean"/>
<xs:attribute name="subselect" type="xs:string"/>
<xs:attribute name="table" type="xs:string"/> <!-- default: unqualified classname -->
<xs:attribute name="where" type="xs:string"/> <!-- default: none -->
<xs:attribute name="table" type="xs:string"/>
<!-- default: unqualified classname -->
<xs:attribute name="where" type="xs:string"/>
<!-- default: none -->
</xs:complexType>
<xs:complexType name="discriminator-element">
<xs:sequence>
<xs:group minOccurs="0" ref="column-or-formula"/>
</xs:sequence>
<xs:attribute name="column" type="xs:string"/> <!-- default: "class"|none -->
<xs:attribute name="column" type="xs:string"/>
<!-- default: "class"|none -->
<xs:attribute name="force" default="false" type="xs:boolean"/>
<xs:attribute name="formula" type="xs:string"/>
<xs:attribute name="insert" default="true" type="xs:boolean"/>
@ -268,13 +284,16 @@ arbitrary number of queries, and import declarations of arbitrary classes.
-->
<xs:element name="filter-param">
<xs:complexType>
<xs:attribute name="name" use="required" type="xs:string"/> <!-- The parameter name -->
<xs:attribute name="type" use="required" type="xs:string"/> <!-- The parameter type -->
<xs:attribute name="name" use="required" type="xs:string"/>
<!-- The parameter name -->
<xs:attribute name="type" use="required" type="xs:string"/>
<!-- The parameter type -->
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="condition" type="xs:string"/>
<xs:attribute name="name" use="required" type="xs:string"/> <!-- The filter name -->
<xs:attribute name="name" use="required" type="xs:string"/>
<!-- The filter name -->
</xs:complexType>
<!-- An "any" association is a polymorphic association to any table with
the given identifier type. The first listed column is a VARCHAR column
@ -288,13 +307,16 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<xs:attribute name="access" type="xs:string"/>
<xs:attribute name="cascade" type="xs:string"/>
<xs:attribute name="id-type" use="required" type="xs:string"/>
<xs:attribute name="index" type="xs:string"/> <!-- include the columns spanned by this association in an index -->
<xs:attribute name="index" type="xs:string"/>
<!-- include the columns spanned by this association in an index -->
<xs:attribute name="insert" default="true" type="xs:boolean"/>
<xs:attribute name="lazy" default="false" type="xs:boolean"/>
<xs:attribute name="meta-type" type="xs:string"/> <!--- default: Hibernate.STRING -->
<xs:attribute name="meta-type" type="xs:string"/>
<!--- default: Hibernate.STRING -->
<xs:attribute name="name" use="required" type="xs:string"/>
<xs:attribute name="node" type="xs:string"/>
<xs:attribute name="optimistic-lock" default="true" type="xs:boolean"/> <!-- only supported for properties of a class (not component) -->
<xs:attribute name="optimistic-lock" default="true" type="xs:boolean"/>
<!-- only supported for properties of a class (not component) -->
<xs:attribute name="update" default="true" type="xs:boolean"/>
</xs:complexType>
<xs:complexType name="timestamp-element">
@ -353,7 +375,8 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="node" type="xs:string"/>
<xs:attribute name="type" type="xs:string"/>
<xs:attribute name="unsaved-value" type="xs:string"/> <!-- any|none|null|undefined|0|-1|... -->
<xs:attribute name="unsaved-value" type="xs:string"/>
<!-- any|none|null|undefined|0|-1|... -->
</xs:complexType>
<xs:complexType name="composite-id-element">
<xs:sequence>
@ -407,7 +430,8 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<xs:attribute name="access" type="xs:string"/>
<xs:attribute name="batch-size" default="-1" type="xs:int"/>
<xs:attribute name="cascade" type="xs:string"/>
<xs:attribute name="check" type="xs:string"/> <!-- default: none -->
<xs:attribute name="check" type="xs:string"/>
<!-- default: none -->
<xs:attribute name="collection-type" type="xs:string"/>
<xs:attribute name="element-class" type="xs:string"/>
<xs:attribute name="embed-xml" default="true" type="xs:boolean"/>
@ -416,10 +440,12 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<xs:attribute name="mutable" default="true" type="xs:boolean"/>
<xs:attribute name="name" use="required" type="xs:string"/>
<xs:attribute name="node" type="xs:string"/>
<xs:attribute name="optimistic-lock" default="true" type="xs:boolean"/> <!-- only supported for properties of a class (not component) -->
<xs:attribute name="optimistic-lock" default="true" type="xs:boolean"/>
<!-- only supported for properties of a class (not component) -->
<xs:attribute name="outer-join" type="outer-join-attribute"/>
<xs:attribute name="persister" type="xs:string"/>
<xs:attribute name="where" type="xs:string"/> <!-- default: none -->
<xs:attribute name="where" type="xs:string"/>
<!-- default: none -->
</xs:complexType>
<xs:complexType name="bag-element">
@ -451,14 +477,16 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<xs:attribute name="fetch" type="fetch-attribute-with-subselect"/>
<xs:attribute name="lazy" type="lazy-attribute-with-extra"/>
<xs:attribute name="node" type="xs:string"/>
<xs:attribute name="order-by" type="xs:string"/> <!-- default: none -->
<xs:attribute name="order-by" type="xs:string"/>
<!-- default: none -->
<xs:attribute name="outer-join" type="outer-join-attribute"/>
</xs:complexType>
<!-- The cache element enables caching of an entity class. -->
<xs:complexType name="cache-element">
<xs:attribute name="include" default="all" type="cache-include-attribute"/>
<xs:attribute name="region" type="xs:string"/> <!-- default: class or collection role name -->
<xs:attribute name="region" type="xs:string"/>
<!-- default: class or collection role name -->
<xs:attribute name="usage" use="required" type="cache-usage-attribute"/>
</xs:complexType>
<xs:simpleType name="cache-include-attribute">
@ -485,19 +513,28 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<!-- The comment element allows definition of a database table or column comment. -->
<xs:element name="comment" minOccurs="0" type="xs:string"/>
</xs:sequence>
<xs:attribute name="check" type="xs:string"/> <!-- default: no check constraint -->
<xs:attribute name="default" type="xs:string"/> <!-- default: no default value -->
<xs:attribute name="check" type="xs:string"/>
<!-- default: no check constraint -->
<xs:attribute name="default" type="xs:string"/>
<!-- default: no default value -->
<xs:attribute name="index" type="xs:string"/>
<xs:attribute name="length" type="xs:int"/> <!-- default: 255 -->
<xs:attribute name="length" type="xs:int"/>
<!-- default: 255 -->
<xs:attribute name="name" use="required" type="xs:string"/>
<xs:attribute name="not-null" type="xs:boolean"/> <!-- default: false (except for id properties) -->
<xs:attribute name="not-null" type="xs:boolean"/>
<!-- default: false (except for id properties) -->
<xs:attribute name="precision" type="xs:int"/>
<xs:attribute name="read" type="xs:string"/> <!-- default: column name -->
<xs:attribute name="read" type="xs:string"/>
<!-- default: column name -->
<xs:attribute name="scale" type="xs:int"/>
<xs:attribute name="sql-type" type="xs:string"/> <!-- override default column type for hibernate type -->
<xs:attribute name="unique" type="xs:boolean"/> <!-- default: false (except for id properties) -->
<xs:attribute name="unique-key" type="xs:string"/> <!-- default: no unique key -->
<xs:attribute name="write" type="xs:string"/> <!-- default: parameter placeholder ('?') -->
<xs:attribute name="sql-type" type="xs:string"/>
<!-- override default column type for hibernate type -->
<xs:attribute name="unique" type="xs:boolean"/>
<!-- default: false (except for id properties) -->
<xs:attribute name="unique-key" type="xs:string"/>
<!-- default: no unique key -->
<xs:attribute name="write" type="xs:string"/>
<!-- default: parameter placeholder ('?') -->
</xs:complexType>
<!-- A component is a user-defined class, persisted along with its containing entity
@ -632,7 +669,8 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<xs:element name="fetch" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="association" use="required" type="xs:string"/>
<xs:attribute name="entity" type="xs:string"/> <!-- Implied as long as the containing fetch profile is contained in a class mapping -->
<xs:attribute name="entity" type="xs:string"/>
<!-- Implied as long as the containing fetch profile is contained in a class mapping -->
<xs:attribute name="style" default="join" type="fetch-style-attribute">
</xs:attribute>
@ -708,7 +746,8 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<xs:attribute name="fetch" type="fetch-attribute-with-subselect"/>
<xs:attribute name="lazy" type="lazy-attribute-with-extra"/>
<xs:attribute name="node" type="xs:string"/>
<xs:attribute name="order-by" type="xs:string"/> <!-- default: none -->
<xs:attribute name="order-by" type="xs:string"/>
<!-- default: none -->
<xs:attribute name="outer-join" type="outer-join-attribute"/>
</xs:complexType>
@ -718,7 +757,8 @@ arbitrary number of queries, and import declarations of arbitrary classes.
</xs:sequence>
<xs:attribute name="column" type="xs:string"/>
<xs:attribute name="length" type="xs:int"/>
<xs:attribute name="type" type="xs:string"/> <!-- required for maps -->
<xs:attribute name="type" type="xs:string"/>
<!-- required for maps -->
</xs:complexType>
<!-- A join allows some properties of a class to be persisted to a second table -->
@ -796,16 +836,19 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<xs:attributeGroup ref="table-information-group"/>
<xs:attribute name="abstract" default="false" type="xs:boolean"/>
<xs:attribute name="batch-size" default="-1" type="xs:int"/>
<xs:attribute name="check" type="xs:string"/> <!-- default: none -->
<xs:attribute name="check" type="xs:string"/>
<!-- default: none -->
<xs:attribute name="dynamic-insert" default="false" type="xs:boolean"/>
<xs:attribute name="dynamic-update" default="false" type="xs:boolean"/>
<xs:attribute name="entity-name" type="xs:string"/>
<xs:attribute name="extends" type="xs:string"/> <!-- default: none when toplevel, otherwise the nearest class definition -->
<xs:attribute name="extends" type="xs:string"/>
<!-- default: none when toplevel, otherwise the nearest class definition -->
<xs:attribute name="lazy" default="true" type="xs:boolean"/>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="node" type="xs:string"/>
<xs:attribute name="persister" type="xs:string"/>
<xs:attribute name="proxy" type="xs:string"/> <!-- default: no proxy interface -->
<xs:attribute name="proxy" type="xs:string"/>
<!-- default: no proxy interface -->
<xs:attribute name="select-before-update" default="false" type="xs:boolean"/>
</xs:complexType>
@ -924,7 +967,8 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<xs:element name="column" type="column-element"/>
</xs:sequence>
<xs:attribute name="id-type" use="required" type="xs:string"/>
<xs:attribute name="meta-type" type="xs:string"/> <!--- default: Hibernate.CLASS -->
<xs:attribute name="meta-type" type="xs:string"/>
<!--- default: Hibernate.CLASS -->
</xs:complexType>
<!-- Many to many association. This tag declares the entity-class
@ -975,7 +1019,8 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<xs:attribute name="node" type="xs:string"/>
<xs:attribute name="not-found" default="exception" type="not-found-attribute"/>
<xs:attribute name="not-null" type="xs:boolean"/>
<xs:attribute name="optimistic-lock" default="true" type="xs:boolean"/> <!-- only supported for properties of a class (not component) -->
<xs:attribute name="optimistic-lock" default="true" type="xs:boolean"/>
<!-- only supported for properties of a class (not component) -->
<xs:attribute name="outer-join" type="outer-join-attribute"/>
<xs:attribute name="property-ref" type="xs:string"/>
<xs:attribute name="unique" default="false" type="xs:boolean"/>
@ -1045,7 +1090,8 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<xs:element name="column" type="column-element"/>
</xs:sequence>
<xs:attribute name="id-type" use="required" type="xs:string"/>
<xs:attribute name="meta-type" type="xs:string"/> <!--- default: Hibernate.CLASS -->
<xs:attribute name="meta-type" type="xs:string"/>
<!--- default: Hibernate.CLASS -->
</xs:complexType>
<!-- Collection declarations nested inside a class declaration indicate a foreign key
relationship from the collection table to the enclosing class. -->
@ -1090,9 +1136,11 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<xs:attribute name="fetch" type="fetch-attribute-with-subselect"/>
<xs:attribute name="lazy" type="lazy-attribute-with-extra"/>
<xs:attribute name="node" type="xs:string"/>
<xs:attribute name="order-by" type="xs:string"/> <!-- default: none -->
<xs:attribute name="order-by" type="xs:string"/>
<!-- default: none -->
<xs:attribute name="outer-join" type="outer-join-attribute"/>
<xs:attribute name="sort" default="unsorted" type="xs:string"/> <!-- unsorted|natural|"comparator class", default: unsorted -->
<xs:attribute name="sort" default="unsorted" type="xs:string"/>
<!-- unsorted|natural|"comparator class", default: unsorted -->
</xs:complexType>
<!--
@ -1208,17 +1256,20 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<xs:attributeGroup ref="table-information-group"/>
<xs:attribute name="access" type="xs:string"/>
<xs:attribute name="batch-size" default="-1" type="xs:int"/>
<xs:attribute name="check" type="xs:string"/> <!-- default: none -->
<xs:attribute name="check" type="xs:string"/>
<!-- default: none -->
<xs:attribute name="collection-type" type="xs:string"/>
<xs:attribute name="embed-xml" default="true" type="xs:boolean"/>
<xs:attribute name="fetch" type="fetch-attribute-with-subselect"/>
<xs:attribute name="mutable" default="true" type="xs:boolean"/>
<xs:attribute name="name" use="required" type="xs:string"/>
<xs:attribute name="node" type="xs:string"/>
<xs:attribute name="optimistic-lock" default="true" type="xs:boolean"/> <!-- only supported for properties of a class (not component) -->
<xs:attribute name="optimistic-lock" default="true" type="xs:boolean"/>
<!-- only supported for properties of a class (not component) -->
<xs:attribute name="outer-join" type="outer-join-attribute"/>
<xs:attribute name="persister" type="xs:string"/>
<xs:attribute name="where" type="xs:string"/> <!-- default: none -->
<xs:attribute name="where" type="xs:string"/>
<!-- default: none -->
</xs:complexType>
<!-- properties declares that the contained properties form an alternate key. The name
@ -1257,14 +1308,16 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<xs:attribute name="column" type="xs:string"/>
<xs:attribute name="formula" type="xs:string"/>
<xs:attribute name="generated" default="never" type="property-generated-attribute"/>
<xs:attribute name="index" type="xs:string"/> <!-- include the columns spanned by this property in an index -->
<xs:attribute name="index" type="xs:string"/>
<!-- include the columns spanned by this property in an index -->
<xs:attribute name="insert" type="xs:boolean"/>
<xs:attribute name="lazy" default="false" type="xs:boolean"/>
<xs:attribute name="length" type="xs:int"/>
<xs:attribute name="name" use="required" type="xs:string"/>
<xs:attribute name="node" type="xs:string"/>
<xs:attribute name="not-null" type="xs:boolean"/>
<xs:attribute name="optimistic-lock" default="true" type="xs:boolean"/> <!-- only supported for properties of a class (not component) -->
<xs:attribute name="optimistic-lock" default="true" type="xs:boolean"/>
<!-- only supported for properties of a class (not component) -->
<xs:attribute name="precision" type="xs:string"/>
<xs:attribute name="scale" type="xs:string"/>
<xs:attribute name="type" type="xs:string"/>
@ -1365,13 +1418,16 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<xs:attributeGroup name="plural-basic-attribute-group">
<xs:attribute name="name" use="required" type="xs:string"/>
<xs:attribute name="access" type="xs:string"/>
<xs:attribute name="check" type="xs:string"/> <!-- default: none -->
<xs:attribute name="where" type="xs:string"/> <!-- default: none -->
<xs:attribute name="check" type="xs:string"/>
<!-- default: none -->
<xs:attribute name="where" type="xs:string"/>
<!-- default: none -->
<xs:attribute name="cascade" type="xs:string"/>
<xs:attribute name="batch-size" default="-1" type="xs:int"/>
<xs:attribute name="inverse" default="false" type="xs:boolean"/>
<xs:attribute name="mutable" default="true" type="xs:boolean"/>
<xs:attribute name="optimistic-lock" default="true" type="xs:boolean"/> <!-- only supported for properties of a class (not component) -->
<xs:attribute name="optimistic-lock" default="true" type="xs:boolean"/>
<!-- only supported for properties of a class (not component) -->
<xs:attribute name="collection-type" type="xs:string"/>
<xs:attribute name="persister" type="xs:string"/>
</xs:attributeGroup>
@ -1405,9 +1461,11 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<xs:attribute name="fetch" type="fetch-attribute-with-subselect"/>
<xs:attribute name="lazy" type="lazy-attribute-with-extra"/>
<xs:attribute name="node" type="xs:string"/>
<xs:attribute name="order-by" type="xs:string"/> <!-- default: none -->
<xs:attribute name="order-by" type="xs:string"/>
<!-- default: none -->
<xs:attribute name="outer-join" type="outer-join-attribute"/>
<xs:attribute name="sort" default="unsorted" type="xs:string"/> <!-- unsorted|natural|"comparator class" -->
<xs:attribute name="sort" default="unsorted" type="xs:string"/>
<!-- unsorted|natural|"comparator class" -->
</xs:complexType>
<xs:complexType name="sql-dml-element" mixed="true">
@ -1485,16 +1543,19 @@ arbitrary number of queries, and import declarations of arbitrary classes.
</xs:sequence>
<xs:attribute name="abstract" default="false" type="xs:boolean"/>
<xs:attribute name="batch-size" default="-1" type="xs:int"/>
<xs:attribute name="discriminator-value" type="xs:string"/> <!-- default: unqualified class name | none -->
<xs:attribute name="discriminator-value" type="xs:string"/>
<!-- default: unqualified class name | none -->
<xs:attribute name="dynamic-insert" default="false" type="xs:boolean"/>
<xs:attribute name="dynamic-update" default="false" type="xs:boolean"/>
<xs:attribute name="entity-name" type="xs:string"/>
<xs:attribute name="extends" type="xs:string"/> <!-- default: empty when a toplevel, otherwise the nearest class definition -->
<xs:attribute name="extends" type="xs:string"/>
<!-- default: empty when a toplevel, otherwise the nearest class definition -->
<xs:attribute name="lazy" default="true" type="xs:boolean"/>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="node" type="xs:string"/>
<xs:attribute name="persister" type="xs:string"/>
<xs:attribute name="proxy" type="xs:string"/> <!-- default: no proxy interface -->
<xs:attribute name="proxy" type="xs:string"/>
<!-- default: no proxy interface -->
<xs:attribute name="select-before-update" default="false" type="xs:boolean"/>
</xs:complexType>
@ -1506,8 +1567,10 @@ arbitrary number of queries, and import declarations of arbitrary classes.
TUPLIZER element; defines tuplizer to use for a component/entity for a given entity-mode
-->
<xs:complexType name="tuplizer-element">
<xs:attribute name="class" use="required" type="xs:string"/> <!-- the tuplizer class to use -->
<xs:attribute name="entity-mode" type="entity-mode-attribute"/> <!-- entity mode for which tuplizer is in effect -->
<xs:attribute name="class" use="required" type="xs:string"/>
<!-- the tuplizer class to use -->
<xs:attribute name="entity-mode" type="entity-mode-attribute"/>
<!-- entity mode for which tuplizer is in effect -->
</xs:complexType>
<!-- Declares the type of the containing property (overrides an eventually existing type
@ -1571,16 +1634,19 @@ arbitrary number of queries, and import declarations of arbitrary classes.
<xs:attributeGroup ref="table-information-group"/>
<xs:attribute name="abstract" default="false" type="xs:boolean"/>
<xs:attribute name="batch-size" default="-1" type="xs:int"/>
<xs:attribute name="check" type="xs:string"/> <!-- default: none -->
<xs:attribute name="check" type="xs:string"/>
<!-- default: none -->
<xs:attribute name="dynamic-insert" default="false" type="xs:boolean"/>
<xs:attribute name="dynamic-update" default="false" type="xs:boolean"/>
<xs:attribute name="entity-name" type="xs:string"/>
<xs:attribute name="extends" type="xs:string"/> <!-- default: none when toplevel, otherwise the nearest class definition -->
<xs:attribute name="extends" type="xs:string"/>
<!-- default: none when toplevel, otherwise the nearest class definition -->
<xs:attribute name="lazy" default="true" type="xs:boolean"/>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="node" type="xs:string"/>
<xs:attribute name="persister" type="xs:string"/>
<xs:attribute name="proxy" type="xs:string"/> <!-- default: no proxy interface -->
<xs:attribute name="proxy" type="xs:string"/>
<!-- default: no proxy interface -->
<xs:attribute name="select-before-update" default="false" type="xs:boolean"/>
</xs:complexType>