Package org.hibernate.annotations
Annotation Type SoftDelete
-
@Target({PACKAGE,TYPE,FIELD,METHOD,ANNOTATION_TYPE}) @Retention(RUNTIME) @Documented @Incubating public @interface SoftDelete
Describes a soft-delete indicator mapping. Soft deletes handle "deletions" from a database table by setting a column in the table to indicate deletion. May be defined at various levels- PACKAGE, where it applies to all mappings defined in the package, unless defined more specifically.
- TYPE, where it applies to an entity hierarchy. The annotation must be defined on the root of the hierarchy and affects to the hierarchy as a whole. The soft-delete column is assumed to be on the hierarchy's root table.
-
FIELD / METHOD, where
it applies to the rows of an
ElementCollection
orManyToMany
table. - ANNOTATION_TYPE on another annotation defined according to the previous targets.
- Since:
- 6.4
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description String
columnName
(Optional) The name of the column.Class<? extends AttributeConverter<Boolean,?>>
converter
(Optional) Conversion to apply to determine the appropriate value to store in the database.SoftDeleteType
strategy
The strategy to use for storing/reading values to/from the database.
-
-
-
Element Detail
-
columnName
String columnName
(Optional) The name of the column. Default depends on the strategy being used.- See Also:
SoftDeleteType.getDefaultColumnName()
- Default:
- ""
-
-
-
strategy
SoftDeleteType strategy
The strategy to use for storing/reading values to/from the database. The strategy also affects the default column name.- Default:
- org.hibernate.annotations.SoftDeleteType.DELETED
-
-
-
converter
Class<? extends AttributeConverter<Boolean,?>> converter
(Optional) Conversion to apply to determine the appropriate value to store in the database. The "domain representation" can be:true
- Indicates that the row is considered deleted
false
- Indicates that the row is considered NOT deleted
- API Note:
- The converter should never return
null
- Default:
- org.hibernate.annotations.SoftDelete.UnspecifiedConversion.class
-
-