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