@hibernate Tag Reference
Tags for declaration of Hibernate descriptor file
Applies to: All classes, at class level and on getter methods
@hibernate Field Level Tags
@hibernate Class Level Tag Usage
@hibernate.cache (0..1)
Enables caching
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
usage |
text |
|
Defines the cache semantics Valid options are:
read-write
nonstrict-read-write
read-only
transactional
|
true |
@hibernate.class (0..1)
Declare a persistent class
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
table |
text |
|
The name of its database table |
false |
discriminator-value |
text |
|
A value that distinguishes the particular subclass |
false |
mutable |
bool |
|
Specifies that instances of the class are (not) mutable
Default value(s):
true Valid options are:
true
false
|
false |
dynamic-update |
bool |
|
Specifies that only changed columns should appear in the SQL UPDATE
Default value(s):
false |
false |
dynamic-insert |
bool |
|
Specifies that null columns should not appear in the SQL INSERT
Default value(s):
false |
false |
select-before-update |
bool |
|
Specifies that an SQL update should never be performed unless the object is actually modified
Default value(s):
false |
false |
optimistic-lock |
text |
|
Specifiy the optimistic locking strategy (requires dynamic-update="true")
Default value(s):
version Valid options are:
version
none
all
dirty
|
false |
polymorphism |
text |
|
Enable "explicit" polymorphism
Default value(s):
implicit Valid options are:
explicit
implicit
|
false |
schema |
text |
|
Override the schema name specified by the root hibernate-mapping element |
false |
lazy |
bool |
|
Specifies the class itself to use for CGLIB proxy interface
Default value(s):
false |
false |
proxy |
text |
|
Specifies an interface to use for CGLIB proxies |
false |
where |
text |
|
the where clause to use when loading elements for this class |
false |
persister |
text |
|
Specifies a custom ClassPersister |
false |
batch-size |
text |
|
specify a "batch size" for fetching instances of this class by identifier |
false |
@hibernate.discriminator (0..1)
Defines a discriminator
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
column |
text |
|
The name of the mapped database table column |
true |
type |
text |
|
The Hibernate type |
false |
length |
text |
|
The length of the mapped database table column |
false |
not-null |
bool |
|
Is the column nullable
Default value(s):
true Valid options are:
true
false
|
false |
force |
bool |
|
Indicate whether Hibernate should specify allowed discriminator values even when retrieving all instances of the root class.
Default value(s):
true Valid options are:
true
false
|
false |
insert |
bool |
|
Set this to false if your discriminator column is also part of a mapped composite identifier.
Default value(s):
true Valid options are:
true
false
|
false |
@hibernate.jcs-cache (0..1)
Enables caching (deprecated)
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
usage |
text |
|
Defines the cache semantics. nonstrict-read-write only applies to version 2.0 and later. Valid options are:
read-write
nonstrict-read-write
read-only
transactional
|
true |
@hibernate.joined-subclass (0..1)
Declare the current class as joined subclass
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
lazy |
bool |
|
Specifies the class itself to use for CGLIB proxy interface
Default value(s):
false |
false |
proxy |
text |
|
Specifies an interface to use for CGLIB proxies |
false |
dynamic-update |
bool |
|
Specifies that only changed columns should appear in the SQL UPDATE
Default value(s):
false |
false |
dynamic-insert |
bool |
|
Specifies that null columns should not appear in the SQL INSERT
Default value(s):
false |
false |
schema |
text |
|
Override the schema name specified by the root hibernate-mapping element |
false |
table |
text |
|
Name of the table, where this class should be persisted in
Default value(s):
unqualified class name |
false |
@hibernate.joined-subclass-key (0..1)
Declares a joined-subclass key
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
column |
text |
|
The name of the mapped database table column |
true |
@hibernate.mapping (0..1)
Customizes mapping declaration
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
schema |
text |
|
The name of a database schema |
false |
default-cascade |
text |
|
A default cascade style
Default value(s):
none Valid options are:
none
save-update
|
false |
auto-import |
bool |
|
Specifies whether we can use unqualified class names (of classes in this mapping) in the query language
Default value(s):
true Valid options are:
true
false
|
false |
@hibernate.query (0..*)
Declare a named query for class
Applies to: Class level on bean
Parameter |
Type |
Applicability |
Description |
Mandatory |
name |
text |
|
Name of this query |
true |
query |
text |
|
Query contents |
true |
@hibernate.subclass (0..1)
Declare the current class as subclass
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
table |
text |
|
The name of its database table |
false |
discriminator-value |
text |
|
A value that distinguishes the particular subclass |
false |
lazy |
bool |
|
Specifies the class itself to use for CGLIB proxy interface
Default value(s):
false |
false |
proxy |
text |
|
Specifies an interface to use for CGLIB proxies |
false |
dynamic-update |
bool |
|
Specifies that only changed columns should appear in the SQL UPDATE
Default value(s):
false |
false |
dynamic-insert |
bool |
|
Specifies that null columns should not appear in the SQL INSERT
Default value(s):
false |
false |
@hibernate Method Level Tag Usage
@hibernate.any (0..1)
Declares any type mapping
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
id-type |
text |
|
Type of the identifier |
true |
meta-type |
text |
|
Meta-type |
false |
cascade |
text |
|
Cascaded operations |
true |
access |
text |
|
The strategy Hibernate should use for accessing the property value.
Default value(s):
property Valid options are:
field
property
ClassName
|
false |
@hibernate.any-column (0..*)
Defines a column for the any type mapping
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
name |
text |
|
The column name |
true |
length |
text |
|
The column length |
false |
unique |
bool |
|
Is the column unique |
false |
not-null |
bool |
|
Is the column nullable |
false |
index |
text |
|
The name of an index |
false |
unique-key |
text |
|
The name of a unique constraint |
false |
sql-type |
text |
|
The SQL column type |
false |
@hibernate.array (0..1)
Defines an array
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
table |
text |
|
The name of the collection table (not used for one-to-many associations) |
false |
schema |
text |
|
The name of a table schema to override the schema declared |
false |
cascade |
text |
|
Specifies which operations should be cascaded from the parent object to the associated object Valid options are:
all
none
save-update
delete
|
false |
outer-join |
text |
|
Enable outer-join fetching
Default value(s):
auto Valid options are:
true
false
auto
|
false |
where |
text |
|
An SQL WHERE condition |
false |
batch-size |
text |
|
Specify a "batch size" for lazily fetching instances of this collection |
false |
access |
text |
|
The strategy Hibernate should use for accessing the property value.
Default value(s):
property Valid options are:
field
property
ClassName
|
false |
@hibernate.bag (0..1)
Defines a bag
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
inverse |
bool |
|
If inverse collection |
false |
table |
text |
|
The name of the collection table (not used for one-to-many associations) |
false |
schema |
text |
|
The name of a table schema to override the schema declared |
false |
lazy |
bool |
|
Enable lazy initialization
Default value(s):
false |
false |
cascade |
text |
|
Specifies which operations should be cascaded from the parent object to the associated object
Default value(s):
none Valid options are:
all
none
save-update
delete
all-delete-orphan
delete-orphan
|
false |
outer-join |
text |
|
Enable outer-join fetching
Default value(s):
auto Valid options are:
true
false
auto
|
false |
order-by |
text |
|
Specify table columns that define the iteration order |
false |
where |
text |
|
An SQL WHERE condition |
false |
batch-size |
text |
|
Specify a "batch size" for lazily fetching instances of this collection |
false |
access |
text |
|
The strategy Hibernate should use for accessing the property value.
Default value(s):
property Valid options are:
field
property
ClassName
|
false |
@hibernate.collection-cache (0..1)
Enables caching
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
usage |
text |
|
Defines the cache semantics Valid options are:
read-write
nonstrict-read-write
read-only
transactional
|
true |
@hibernate.collection-composite-element (0..1)
Declares a composite collection element
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
class |
text |
|
The name of the element class |
true |
@hibernate.collection-element (0..1)
Declares a collection element
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
column |
text |
|
The name of the mapped database table column |
true |
type |
text |
|
The Hibernate type |
true |
length |
text |
|
The length of the mapped database table column |
false |
not-null |
bool |
|
Is the column nullable |
false |
unique |
bool |
|
Is the column unique |
false |
@hibernate.collection-index (0..1)
Declares a collection index. This will be used as index for the arrays, sotring field for the lists or keys in the map
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
column |
text |
|
The name of the mapped database table column |
true |
type |
text |
|
The Hibernate type |
false |
length |
text |
|
The length of the mapped database table column |
false |
@hibernate.collection-jcs-cache (0..1)
Enables caching (deprecated)
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
usage |
text |
|
Defines the cache semantics Valid options are:
read-write
nonstrict-read-write
read-only
transactional
|
true |
@hibernate.collection-key (0..1)
Declares a collection key
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
column |
text |
|
The name of the mapped database table column |
true |
@hibernate.collection-key-column (0..*)
Defines a column for a collection key
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
name |
text |
|
The column name |
true |
length |
text |
|
The column length |
false |
unique |
bool |
|
Is the column unique |
false |
not-null |
bool |
|
Is the column nullable |
false |
index |
text |
|
The name of an index |
false |
unique-key |
text |
|
The name of a unique constraint |
false |
sql-type |
text |
|
The SQL column type |
false |
@hibernate.collection-many-to-many (0..1)
Declares a many-to-many relationship
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
column |
text |
|
The name of the mapped database table column |
true |
class |
text |
|
Fully qualified class name |
false |
outer-join |
text |
|
Enable outer-join fetching
Default value(s):
auto Valid options are:
true
false
auto
|
false |
@hibernate.collection-one-to-many (0..1)
Declares a one-to-many relationship
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
class |
text |
|
Fully qualified class name of the associated class |
false |
@hibernate.column (0..*)
Customize column mapping
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
name |
text |
|
The column name |
true |
length |
text |
|
The column length |
false |
unique |
bool |
|
Is the column unique |
false |
not-null |
bool |
|
Is the column nullable |
false |
index |
text |
|
The name of an index |
false |
unique-key |
text |
|
The name of a unique constraint |
false |
sql-type |
text |
|
The SQL column type |
false |
formula |
text |
|
An SQL expression that defines the value for a computed property. Computed properties do not have a column mapping of their own. |
false |
@hibernate.component (0..1)
Declares a component
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
class |
text |
|
A fully qualified class name |
false |
prefix |
text |
|
When multiple Java fields are of the same component datatype, use this to specify a discriminating column-name-prefix. Properties that are included which have a @hibernate.property column="xxx" attribute will not be prefixed. If you want to shorten a property column-name and prefix it for the component, use @hibernate.column name="xxx" on the property. |
false |
@hibernate.generator-param (0..*)
Specifies an id generator parameter value
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
name |
text |
|
The name of the parameter |
true |
value |
text |
|
The parameter value |
true |
@hibernate.id (0..1)
Declares an identifier property
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
column |
text |
|
The name of the mapped database table column |
false |
type |
text |
|
The Hibernate type |
false |
length |
text |
|
The length of the mapped database table column |
false |
unsaved-value |
text |
|
A value that distinguishes transient instances with existing persistent state from new transient instances
Default value(s):
null |
false |
generator-class |
text |
|
The key generator class Valid options are:
uuid.hex
uuid.string
increment
assigned
native
identity
sequence
hilo
seqhilo
foreign
|
true |
access |
text |
|
The strategy Hibernate should use for accessing the property value.
Default value(s):
property Valid options are:
field
property
ClassName
|
false |
@hibernate.index-many-to-many (0..1)
Declares many-to-many collection index. Will be used as map key for ternary associations. Shall be entity?
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
column |
text |
|
The name of the mapped database table column |
true |
class |
text |
|
Entity to be used as key in the ternary association maps |
true |
foreign-key |
text |
|
The name of the foreign key constraint to associate with this association. |
false |
@hibernate.list (0..1)
Defines a List
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
table |
text |
|
The name of the collection table (not used for one-to-many associations) |
false |
schema |
text |
|
The name of a table schema to override the schema declared |
false |
lazy |
bool |
|
Enable lazy initialization |
false |
cascade |
text |
|
Specifies which operations should be cascaded from the parent object to the associated objects
Default value(s):
none Valid options are:
all
none
save-update
delete
all-delete-orphan
delete-orphan
|
false |
outer-join |
text |
|
Enable outer-join fetching
Default value(s):
auto Valid options are:
true
false
auto
|
false |
where |
text |
|
An SQL WHERE condition |
false |
batch-size |
text |
|
Specify a "batch size" for lazily fetching instances of this collection |
false |
access |
text |
|
The strategy Hibernate should use for accessing the property value.
Default value(s):
property Valid options are:
field
property
ClassName
|
false |
@hibernate.many-to-any (0..1)
Declares many-to-any type mapping
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
id-type |
text |
|
Type of the identifier |
true |
meta-type |
text |
|
Meta-type |
false |
@hibernate.many-to-any-column (0..*)
Defines a column for the many-to-any type mapping
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
name |
text |
|
The column name |
true |
length |
text |
|
The column length |
false |
unique |
bool |
|
Is the column unique |
false |
not-null |
bool |
|
Is the column nullable |
false |
index |
text |
|
The name of an index |
false |
unique-key |
text |
|
The name of a unique constraint |
false |
sql-type |
text |
|
The SQL column type |
false |
@hibernate.many-to-one (0..1)
Declares a many-to-one association
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
column |
text |
|
The name of the mapped database table column |
false |
class |
text |
|
The name of the associated class |
false |
cascade |
text |
|
Specifies which operations should be cascaded from the parent object to the associated object
Default value(s):
none Valid options are:
all
none
save-update
delete
|
false |
not-null |
bool |
|
If the column is not nullable
Default value(s):
false |
false |
unique |
bool |
|
If the column is unique
Default value(s):
false |
false |
outer-join |
text |
|
Enable outer-join fetching
Default value(s):
auto Valid options are:
true
false
auto
|
false |
insert |
bool |
|
Should the column appear in the SQL INSERT. Only applies for version >= 2.0 |
false |
update |
bool |
|
Should the column appear in the SQL UPDATE. Only applies for version >= 2.0 |
false |
property-ref |
text |
|
The name of a property of the associated class that is joined to this foreign key. If not specified, the primary key of the associated class is used. |
false |
foreign-key |
text |
|
The name of the foreign key constraint to associate with this association. |
false |
access |
text |
|
The strategy Hibernate should use for accessing the property value.
Default value(s):
property Valid options are:
field
property
ClassName
|
false |
unique |
text |
|
Enable the DDL generation of a unique constraint for the foreign-key column. Valid options are:
true
false
|
false |
@hibernate.map (0..1)
Defines a map
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
table |
text |
|
The name of the collection table (not used for one-to-many associations) |
false |
schema |
text |
|
The name of a table schema to override the schema declared |
false |
lazy |
bool |
|
Enable lazy initialization |
false |
cascade |
text |
|
Specifies which operations should be cascaded from the parent object to the associated object Valid options are:
all
save-update
delete
none
all-delete-orphan
delete-orphan
|
false |
outer-join |
text |
|
Enable outer-join fetching
Default value(s):
auto Valid options are:
true
false
auto
|
false |
sort |
text |
|
Specify a sorted collection with natural sort order or a given comparator class |
false |
order-by |
text |
|
Specify table columns that define the iteration order |
false |
where |
text |
|
An SQL WHERE condition |
false |
batch-size |
text |
|
Specify a "batch size" for lazily fetching instances of this collection |
false |
access |
text |
|
The strategy Hibernate should use for accessing the property value.
Default value(s):
property Valid options are:
field
property
ClassName
|
false |
@hibernate.one-to-one (0..1)
Declares a one-to-one association
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
class |
text |
|
The name of the associated class |
false |
property-ref |
text |
|
bi-directional reference to one-to-one table that holds the foreign key |
false |
constrained |
bool |
|
Is there a foreign key constraint |
false |
cascade |
text |
|
Specifies which operations should be cascaded from the parent object to the associated object Valid options are:
all
none
save-update
delete
|
false |
outer-join |
bool |
|
Enable outer-join fetching for this association when hibernate.use_outer_join is set
Default value(s):
auto Valid options are:
true
false
auto
|
false |
foreign-key |
text |
|
The name of the foreign key constraint to associate with this association. |
false |
access |
text |
|
The strategy Hibernate should use for accessing the property value.
Default value(s):
property Valid options are:
field
property
ClassName
|
false |
@hibernate.parent (0..1)
Declares a parent reference
Applies to: Hibernate
@hibernate.primitive-array (0..1)
Defines a primitive-array
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
table |
text |
|
The name of the collection table (not used for one-to-many associations) |
false |
schema |
text |
|
The name of a table schema to override the schema declared |
false |
cascade |
text |
|
Specifies which operations should be cascaded from the parent object to the associated object Valid options are:
all
none
save-update
delete
|
false |
outer-join |
text |
|
Enable outer-join fetching
Default value(s):
auto Valid options are:
true
false
auto
|
false |
where |
text |
|
An SQL WHERE condition |
false |
batch-size |
text |
|
Specify a "batch size" for lazily fetching instances of this collection |
false |
access |
text |
|
The strategy Hibernate should use for accessing the property value.
Default value(s):
property Valid options are:
field
property
ClassName
|
false |
@hibernate.property (0..1)
Defines a property
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
column |
text |
|
The name of the mapped database table column |
false |
type |
text |
|
The Hibernate type |
false |
length |
text |
|
The length of the mapped database table column |
false |
not-null |
bool |
|
If the column is not nullable |
false |
unique |
bool |
|
If the column is unique |
false |
insert |
bool |
|
Should the column appear in the SQL INSERT |
false |
update |
bool |
|
Should the column appear in the SQL UPDATE |
false |
formula |
text |
|
Formula for calculating the value of this proerty |
false |
access |
text |
|
The strategy Hibernate should use for accessing the property value.
Default value(s):
property Valid options are:
field
property
ClassName
|
false |
@hibernate.set (0..1)
Defines a set
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
inverse |
bool |
|
If inverse collection
Default value(s):
false |
false |
table |
text |
|
Defaults to role name: the name of the collection table (not used for one-to-many associations) |
false |
schema |
text |
|
The name of a table schema to override the schema declared |
false |
lazy |
bool |
|
Enable lazy initialization
Default value(s):
false |
false |
cascade |
text |
|
Specifies which operations should be cascaded from the parent object to the associated object Valid options are:
all
none
save-update
delete
all-delete-orphan
delete-orphan
|
false |
outer-join |
text |
|
Enable outer-join fetching
Default value(s):
auto Valid options are:
true
false
auto
|
false |
sort |
text |
|
Specify a sorted collection with natural sort order or a given comparator class |
false |
order-by |
text |
|
Specify table columns that define the iteration order |
false |
where |
text |
|
An SQL WHERE condition |
false |
batch-size |
text |
|
Specify a "batch size" for lazily fetching instances of this collection |
false |
access |
text |
|
The strategy Hibernate should use for accessing the property value.
Default value(s):
property Valid options are:
field
property
ClassName
|
false |
@hibernate.timestamp (0..1)
Declares a timestamp property
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
column |
text |
|
The name of an column holding the timestamp |
false |
access |
text |
|
The strategy Hibernate should use for accessing the property value.
Default value(s):
property Valid options are:
field
property
ClassName
|
false |
@hibernate.version (0..1)
Declares a version property
Applies to: Hibernate
Parameter |
Type |
Applicability |
Description |
Mandatory |
column |
text |
|
The name of a column holding the version number |
false |
type |
text |
|
The Hibernate type Valid options are:
integer
short
long
timestamp
calendar
|
false |
access |
text |
|
The strategy Hibernate should use for accessing the property value.
Default value(s):
property Valid options are:
field
property
ClassName
|
false |
unsaved-value |
text |
|
A version property value that indicates that an instance is newly instantiated (unsaved), distinguishing it from transient instances that were saved or loaded in a previous session (undefined specifies that the identifier property value should be used).
Default value(s):
undefined Valid options are:
null
negative
undefined
|
false |
@hibernate Field Level Tag Usage