Types of polymorphism
default: no proxy interface
Enable the lazy loading of this class in associations
Enable the lazy loading of this collection
The concrete collection should use a generic version or an object-based version.
Values used to restrict composite-id, does not apply to meta/column/generator
hibernate-mapping is the document root
Default property access setting
Namespace used to find not-Fully Qualified Type Names
Assembly used to find not-Fully Qualified Type Names
Default value of the lazy attribute for persistent classes and collections
An explicit query language "import"
Root of an entity class hierarchy. Entities have their own tables
default: unqualified classname
default: no value
default: unqualified class name | none
default: none
Declares the id type, column and generation algorithm for an entity class. If a name attribute 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()
any|none|null|0|-1|...
A composite key may be modelled by a .NET class with a property for each key column. The class must be Serializable and override equals() and hashCode()
Polymorphic data requires a column holding a class discriminator value. This value is not directly exposed to the application
default: "class"|none
Versioned data requires a column holding a version number. This is exposed to the application through a property of the .NET class
undefined|any|none|null|0|-1|...
Is equivalent to <version type="timestamp">
undefined|any|none|null|0|-1|...
Subclass declarations are nested beneath the root class declaration to achieve polymorphic persistence
Name of the root class. Required if the Subclass is declared outside the declaration of its root class
default: unqualified class name | none
Joined subclasses are used for the normalized table-per-subclass mapping strategy
Name of the root class. Required if the Joined Subclass is declared outside the declaration of its root class
default: unqualified classname
default: no value
Property of an entity class or component, component-element, composite-id, etc. Class Properties (get_ and set_ methods) are mapped to table columns
only supported for properties of a class (not component)
only supported for properties of a class (not component)
only supported for properties of a class (not component)
only supported for properties of a class (not component)
Map properties of a child object to columns of the table of a parent class
Tells which algorithm to use to generate the identifier
A subclass in a table-per-concrete-class mapping
Name of the root class. Required if the subclass is declared outside the declaration of its root class
default: unqualified classname