?? hibernate-mapping-3.0.dtd
字號(hào):
<!-- Hibernate Mapping DTD.
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
An instance of this XML document may contain mappings for an arbitrary
number of classes. The class mappings may contain associations to classes
mapped in the same document or in another document. No class may be
mapped more than once. Each document may also contain definitions of an
arbitrary number of queries, and import declarations of arbitrary classes.
-->
<!--
The document root.
-->
<!ELEMENT hibernate-mapping (
meta*,
typedef*,
import*,
(class|subclass|joined-subclass|union-subclass)*,
resultset*,
(query|sql-query)*,
filter-def*,
database-object*
)>
<!ATTLIST hibernate-mapping schema CDATA #IMPLIED> <!-- default: none -->
<!ATTLIST hibernate-mapping catalog CDATA #IMPLIED> <!-- default: none -->
<!ATTLIST hibernate-mapping default-cascade CDATA "none">
<!ATTLIST hibernate-mapping default-access CDATA "property">
<!ATTLIST hibernate-mapping default-lazy (true|false) "true">
<!ATTLIST hibernate-mapping auto-import (true|false) "true">
<!ATTLIST hibernate-mapping package CDATA #IMPLIED> <!-- default: none -->
<!--
META element definition; used to assign meta-level attributes to a class
or property. Is currently used by codegenerator as a placeholder for
values that is not directly related to OR mappings.
-->
<!ELEMENT meta (#PCDATA)>
<!ATTLIST meta attribute CDATA #REQUIRED>
<!ATTLIST meta inherit (true|false) "true">
<!--
TYPEDEF element definition; defines a new name for a Hibernate type. May
contain parameters for parameterizable types.
-->
<!ELEMENT typedef (param*)>
<!ATTLIST typedef class CDATA #REQUIRED>
<!ATTLIST typedef name CDATA #REQUIRED>
<!--
IMPORT element definition; an explicit query language "import"
-->
<!ELEMENT import EMPTY>
<!ATTLIST import class CDATA #REQUIRED>
<!ATTLIST import rename CDATA #IMPLIED> <!-- default: unqualified class name -->
<!--
Root entity mapping. Poorly named as entities do not have to be represented by
classes at all. Mapped entities may be represented via different methodologies
(POJO, Map, Dom4j).
-->
<!ELEMENT class (
meta*,
subselect?,
cache?,
synchronize*,
comment?,
tuplizer*,
(id|composite-id),
discriminator?,
natural-id?,
(version|timestamp)?,
(property|many-to-one|one-to-one|component|dynamic-component|properties|any|map|set|list|bag|idbag|array|primitive-array)*,
((join*,subclass*)|joined-subclass*|union-subclass*),
loader?,sql-insert?,sql-update?,sql-delete?,
filter*,
resultset*,
(query|sql-query)*
)>
<!ATTLIST class entity-name CDATA #IMPLIED>
<!ATTLIST class name CDATA #IMPLIED> <!-- this is the class name -->
<!ATTLIST class proxy CDATA #IMPLIED> <!-- default: no proxy interface -->
<!ATTLIST class lazy (true|false) #IMPLIED>
<!ATTLIST class table CDATA #IMPLIED> <!-- default: unqualified classname -->
<!ATTLIST class schema CDATA #IMPLIED> <!-- default: none -->
<!ATTLIST class catalog CDATA #IMPLIED> <!-- default: none -->
<!ATTLIST class subselect CDATA #IMPLIED>
<!ATTLIST class discriminator-value CDATA #IMPLIED> <!-- default: unqualified class name | none -->
<!ATTLIST class mutable (true|false) "true">
<!ATTLIST class abstract (true|false) "false">
<!ATTLIST class polymorphism (implicit|explicit) "implicit">
<!ATTLIST class where CDATA #IMPLIED> <!-- default: none -->
<!ATTLIST class persister CDATA #IMPLIED>
<!ATTLIST class dynamic-update (true|false) "false">
<!ATTLIST class dynamic-insert (true|false) "false">
<!ATTLIST class batch-size CDATA #IMPLIED>
<!ATTLIST class select-before-update (true|false) "false">
<!ATTLIST class optimistic-lock (none|version|dirty|all) "version">
<!ATTLIST class check CDATA #IMPLIED> <!-- default: none -->
<!ATTLIST class rowid CDATA #IMPLIED>
<!ATTLIST class node CDATA #IMPLIED>
<!--
TUPLIZER element; defines tuplizer to use for a component/entity for a given entity-mode
-->
<!ELEMENT tuplizer EMPTY>
<!ATTLIST tuplizer entity-mode (pojo|dom4j|dynamic-map) #IMPLIED> <!-- entity mode for which tuplizer is in effect -->
<!ATTLIST tuplizer class CDATA #REQUIRED> <!-- the tuplizer class to use -->
<!--
FILTER-DEF element; top-level filter definition.
-->
<!ELEMENT filter-def (#PCDATA|filter-param)*>
<!ATTLIST filter-def name CDATA #REQUIRED> <!-- The filter name -->
<!ATTLIST filter-def condition CDATA #IMPLIED>
<!--
FILTER-PARAM element; qualifies parameters found within a FILTER-DEF
condition.
-->
<!ELEMENT filter-param EMPTY>
<!ATTLIST filter-param name CDATA #REQUIRED> <!-- The parameter name -->
<!ATTLIST filter-param type CDATA #REQUIRED> <!-- The parameter type -->
<!--
FILTER element; used to apply a filter.
-->
<!ELEMENT filter (#PCDATA)>
<!ATTLIST filter name CDATA #REQUIRED>
<!ATTLIST filter condition CDATA #IMPLIED>
<!-- A join allows some properties of a class to be persisted to a second table -->
<!ELEMENT join (
subselect?,
comment?,
key,
(property|many-to-one|component|dynamic-component|any)*,
sql-insert?,sql-update?,sql-delete?
)>
<!ATTLIST join table CDATA #REQUIRED>
<!ATTLIST join schema CDATA #IMPLIED> <!-- default: none -->
<!ATTLIST join catalog CDATA #IMPLIED> <!-- default: none -->
<!ATTLIST join subselect CDATA #IMPLIED>
<!ATTLIST join fetch (join|select) "join">
<!ATTLIST join inverse (true|false) "false">
<!ATTLIST join optional (true|false) "false">
<!-- A natural-id element allows declaration of the unique business key -->
<!ELEMENT natural-id ( (property|many-to-one|component|dynamic-component|any)* )>
<!ATTLIST natural-id mutable (true|false) "false">
<!-- Declares the id type, column and generation algorithm for an entity class.
If a name attribut is given, the id is exposed to the application through the
named property of the class. If not, the id is only exposed to the application
via Session.getIdentifier() -->
<!ELEMENT id (meta*,column*,type?,generator?)>
<!ATTLIST id name CDATA #IMPLIED>
<!ATTLIST id node CDATA #IMPLIED>
<!ATTLIST id access CDATA #IMPLIED>
<!ATTLIST id column CDATA #IMPLIED>
<!ATTLIST id type CDATA #IMPLIED>
<!ATTLIST id length CDATA #IMPLIED>
<!ATTLIST id unsaved-value CDATA #IMPLIED> <!-- any|none|null|undefined|0|-1|... -->
<!-- A composite key may be modelled by a java class with a property for each
key column. The class must implement java.io.Serializable and reimplement equals()
and hashCode(). -->
<!ELEMENT composite-id ( meta*, (key-property|key-many-to-one)+ )>
<!ATTLIST composite-id class CDATA #IMPLIED>
<!ATTLIST composite-id mapped (true|false) "false">
<!ATTLIST composite-id name CDATA #IMPLIED>
<!ATTLIST composite-id node CDATA #IMPLIED>
<!ATTLIST composite-id access CDATA #IMPLIED>
<!ATTLIST composite-id unsaved-value (undefined|any|none) "undefined">
<!-- Polymorphic data requires a column holding a class discriminator value. This
value is not directly exposed to the application. -->
<!ELEMENT discriminator ((column|formula)?)>
<!ATTLIST discriminator column CDATA #IMPLIED> <!-- default: "class"|none -->
<!ATTLIST discriminator formula CDATA #IMPLIED>
<!ATTLIST discriminator type CDATA "string">
<!ATTLIST discriminator not-null (true|false) "true">
<!ATTLIST discriminator length CDATA #IMPLIED>
<!ATTLIST discriminator force (true|false) "false">
<!ATTLIST discriminator insert (true|false) "true">
<!-- Versioned data requires a column holding a version number. This is exposed to the
application through a property of the Java class. -->
<!ELEMENT version (meta*,column*)>
<!ATTLIST version name CDATA #REQUIRED>
<!ATTLIST version node CDATA #IMPLIED>
<!ATTLIST version access CDATA #IMPLIED>
<!ATTLIST version column CDATA #IMPLIED>
<!ATTLIST version type CDATA "integer">
<!ATTLIST version unsaved-value (null|negative|undefined) "undefined">
<!ATTLIST version generated (never|always) "never">
<!ATTLIST version insert (true|false) #IMPLIED>
<!ELEMENT timestamp (meta*)>
<!ATTLIST timestamp name CDATA #REQUIRED>
<!ATTLIST timestamp node CDATA #IMPLIED>
<!ATTLIST timestamp column CDATA #IMPLIED>
<!ATTLIST timestamp access CDATA #IMPLIED>
<!ATTLIST timestamp unsaved-value (null|undefined) "null">
<!ATTLIST timestamp source (vm|db) "vm">
<!ATTLIST timestamp generated (never|always) "never">
<!--
Subclass declarations are nested beneath the root class declaration to achieve
polymorphic persistence with the table-per-hierarchy mapping strategy.
See the note on the class element regarding <pojo/> vs. @name usage...
-->
<!ELEMENT subclass (
meta*,
tuplizer*,
synchronize*,
(property|many-to-one|one-to-one|component|dynamic-component|any|map|set|list|bag|idbag|array|primitive-array)*,
join*,
subclass*,
loader?,sql-insert?,sql-update?,sql-delete?,
resultset*,
(query|sql-query)*
)>
<!ATTLIST subclass entity-name CDATA #IMPLIED>
<!ATTLIST subclass name CDATA #IMPLIED>
<!ATTLIST subclass proxy CDATA #IMPLIED> <!-- default: no proxy interface -->
<!ATTLIST subclass discriminator-value CDATA #IMPLIED> <!-- default: unqualified class name | none -->
<!ATTLIST subclass dynamic-update (true|false) "false">
<!ATTLIST subclass dynamic-insert (true|false) "false">
<!ATTLIST subclass select-before-update (true|false) "false">
<!ATTLIST subclass extends CDATA #IMPLIED> <!-- default: empty when a toplevel, otherwise the nearest class definition -->
<!ATTLIST subclass lazy (true|false) #IMPLIED>
<!ATTLIST subclass abstract (true|false) "false">
<!ATTLIST subclass persister CDATA #IMPLIED>
<!ATTLIST subclass batch-size CDATA #IMPLIED>
<!ATTLIST subclass node CDATA #IMPLIED>
<!--
Joined subclasses are used for the normalized table-per-subclass mapping strategy
See the note on the class element regarding <pojo/> vs. @name usage...
-->
<!ELEMENT joined-subclass (
meta*,
subselect?,
synchronize*,
comment?,
tuplizer*,
key,
(property|many-to-one|one-to-one|component|dynamic-component|properties|any|map|set|list|bag|idbag|array|primitive-array)*,
joined-subclass*,
loader?,sql-insert?,sql-update?,sql-delete?,
resultset*,
(query|sql-query)*
)>
<!ATTLIST joined-subclass entity-name CDATA #IMPLIED>
<!ATTLIST joined-subclass name CDATA #IMPLIED>
<!ATTLIST joined-subclass proxy CDATA #IMPLIED> <!-- default: no proxy interface -->
<!ATTLIST joined-subclass table CDATA #IMPLIED> <!-- default: unqualified class name -->
<!ATTLIST joined-subclass schema CDATA #IMPLIED>
<!ATTLIST joined-subclass catalog CDATA #IMPLIED>
<!ATTLIST joined-subclass subselect CDATA #IMPLIED>
<!ATTLIST joined-subclass dynamic-update (true|false) "false">
<!ATTLIST joined-subclass dynamic-insert (true|false) "false">
<!ATTLIST joined-subclass select-before-update (true|false) "false">
<!ATTLIST joined-subclass extends CDATA #IMPLIED> <!-- default: none when toplevel, otherwise the nearest class definition -->
<!ATTLIST joined-subclass lazy (true|false) #IMPLIED>
<!ATTLIST joined-subclass abstract (true|false) "false">
<!ATTLIST joined-subclass persister CDATA #IMPLIED>
<!ATTLIST joined-subclass check CDATA #IMPLIED> <!-- default: none -->
<!ATTLIST joined-subclass batch-size CDATA #IMPLIED>
<!ATTLIST joined-subclass node CDATA #IMPLIED>
<!--
Union subclasses are used for the table-per-concrete-class mapping strategy
See the note on the class element regarding <pojo/> vs. @name usage...
-->
<!ELEMENT union-subclass (
meta*,
subselect?,
synchronize*,
comment?,
tuplizer*,
(property|many-to-one|one-to-one|component|dynamic-component|properties|any|map|set|list|bag|idbag|array|primitive-array)*,
union-subclass*,
loader?,sql-insert?,sql-update?,sql-delete?,
resultset*,
(query|sql-query)*
)>
<!ATTLIST union-subclass entity-name CDATA #IMPLIED>
<!ATTLIST union-subclass name CDATA #IMPLIED>
<!ATTLIST union-subclass proxy CDATA #IMPLIED> <!-- default: no proxy interface -->
<!ATTLIST union-subclass table CDATA #IMPLIED> <!-- default: unqualified class name -->
<!ATTLIST union-subclass schema CDATA #IMPLIED>
<!ATTLIST union-subclass catalog CDATA #IMPLIED>
<!ATTLIST union-subclass subselect CDATA #IMPLIED>
<!ATTLIST union-subclass dynamic-update (true|false) "false">
<!ATTLIST union-subclass dynamic-insert (true|false) "false">
<!ATTLIST union-subclass select-before-update (true|false) "false">
<!ATTLIST union-subclass extends CDATA #IMPLIED> <!-- default: none when toplevel, otherwise the nearest class definition -->
<!ATTLIST union-subclass lazy (true|false) #IMPLIED>
<!ATTLIST union-subclass abstract (true|false) "false">
<!ATTLIST union-subclass persister CDATA #IMPLIED>
<!ATTLIST union-subclass check CDATA #IMPLIED> <!-- default: none -->
<!ATTLIST union-subclass batch-size CDATA #IMPLIED>
<!ATTLIST union-subclass node CDATA #IMPLIED>
<!-- Property of an entity class or component, component-element, composite-id, etc.
JavaBeans style properties are mapped to table columns. -->
<!ELEMENT property (meta*,(column|formula)*,type?)>
<!ATTLIST property name CDATA #REQUIRED>
<!ATTLIST property node CDATA #IMPLIED>
<!ATTLIST property access CDATA #IMPLIED>
<!ATTLIST property type CDATA #IMPLIED>
<!ATTLIST property column CDATA #IMPLIED>
<!ATTLIST property length CDATA #IMPLIED>
<!ATTLIST property precision CDATA #IMPLIED>
<!ATTLIST property scale CDATA #IMPLIED>
<!ATTLIST property not-null (true|false) #IMPLIED>
<!ATTLIST property unique (true|false) "false">
<!ATTLIST property unique-key CDATA #IMPLIED>
<!ATTLIST property index CDATA #IMPLIED> <!-- include the columns spanned by this property in an index -->
<!ATTLIST property update (true|false) #IMPLIED>
<!ATTLIST property insert (true|false) #IMPLIED>
<!ATTLIST property optimistic-lock (true|false) "true"> <!-- only supported for properties of a class (not component) -->
<!ATTLIST property formula CDATA #IMPLIED>
<!ATTLIST property lazy (true|false) "false">
<!ATTLIST property generated (never|insert|always) "never">
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -