Package org.hibernate.annotations
Annotation Interface 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
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
Used as the default for converter(), indicating that dialect and settings resolution should be used. -
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescription(Optional) The name of the column.Class<? extends AttributeConverter<Boolean,
?>> (Optional) Conversion to apply to determine the appropriate value to store in the database.The strategy to use for storing/reading values to/from the database.
-
Element Details
-
columnName
String columnName(Optional) The name of the column. Default depends on the strategy being used.- See Also:
- Default:
- ""
-
strategy
SoftDeleteType strategyThe strategy to use for storing/reading values to/from the database. The strategy also affects the default column name.- Default:
- 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
-