NHibernate class has the following properties:
Attributes
Attributes of the object.
Documentation
LongDescription
Detailed description of the class.
Summary
Brief description of the class.
Modifier
Specifies the visibility level of the class. Acceptable values are Public or Internal.
Extended Properties
Properties defined by the user outside the object.
Constructor Modifier
Specifies the accessibility level of the class constructor. Can accept the following values: Public, ProtectedInternal, Internal, Protected, Private.
Entity Base
The name of the class or interface which is base for this specific class.
Generate Data Contract Attribute
Specifies that the class defines a data contract and is serializable by a serializer. To make the class serializable, define a data contract for the class. To create a data contract, apply the Generate Data Contract Attribute to the class and apply the Generate Data Member Attribute to any fields or properties that must be serialized.
Batch size
Batch size for fetching instances of this class by identifier.
Lazy
Enables or disables lazy fetching. Can accept the following values: Default, True, or False.
Proxy
An interface to use for lazy initializing proxies.
Assembly
Assembly that contains the entity class.
Cache
It is possible to configure a cluster or process-level cache on a class-by-class and collection-by-collection basis. You may even plug in a clustered cache. The cache attribute of a class or collection mapping includes the two elements below.
Region
(optional, defaults to the class or collection role name) specifies the name of the second level cache region.
Usage
Specifies the caching strategy, acceptable values are ReadWrite, NonStrictReadWrite and ReadOnly.
Name
Name of the entity class.
Namespace
Namespace where the entity class resides.
Persister
Custom IClassPersister implementation.
Properties
Properties of the class.
Shape Color
The color of objects on the diagram.
Subselect
An SQL query for entity fetching. It is used to define a read-only/immutable entity which is based on the results of an arbitrary native query.
Synchronize Tables
Defines tables that will be affected after executing the SQL query. It is used only if the Subselect query is set for the entity.
Abstract
Determines whether an instance of the class can be created. Can accept the following values: True or False.
Discriminator
A column or formula used to distinguish individual subclasses.
Discriminator value
A value that distinguishes individual subclasses.
Polymorphism
Determines whether implicit or explicit query polymorphism is used. Can accept the following values: Explicit or Implicit.
Filter
Specifies the filter to be used when retrieving objects of the class.
A filter criterion allows you to define a restriction clause similar to the existing "where" attribute available on the class. These filter conditions, however, can be parameterized. The application can then decide at runtime whether certain filters should be enabled and what their parameter values should be. Filters can be used like database views, but they are parameterized inside the application.
In order to use filters, they must first be defined and then attached to the appropriate mapping elements, for details see Filtering Data.
Join Tables
Specifies additional tables joined to the main tables of the class.
Schema
Schema of the database table.
Table
Name of the database table.
Where
An arbitrary SQL WHERE condition to be used when retrieving objects of this class.
Dynamic Insert
Specifies that INSERT SQL should be generated at runtime and contain only the columns whose values are not null. Can accept the following values: True or False.
Dynamic Update
Specifies that UPDATE SQL should be generated at runtime and contain only the columns whose values are not null. Can accept the following values: True or False.
Mutable
Specifies whether instances of the class may be updated and deleted. Can accept the following values: True or False.
Optimistic Lock
Determines the optimistic locking strategy. Can accept the following values: Version, None, Dirty, All.
Select Before Update
Specifies that NHibernate should never perform an SQL UPDATE unless it is certain that an object is actually modified. Can accept the following values: True or False.