An optimistic lock failure occurs when verification of the version or timestamp fails during an attempt to update the entity, that is, if the version or timestamp held in the database changes between reading the state of an entity instance and attempting to update or delete the state of the instance.
The version attribute must be of one of the following basic
 types: int, Integer, short, Short,
 long, Long, java.sql.Timestamp,
 Instant, LocalDateTime.
 
This field declares a version number:
@Version
@Column(name = "REVISION")
protected int version;
This field declares a revision timestamp:
@Version
@Column(name = "LAST_UPDATED")
private Instant lastUpdated;
An entity class should have at most one Version field
 or property. The version field or property should be declared by
 the root entity class in an entity class hierarchy, or by one of
 its mapped superclasses.
 
The Version field or property should be mapped to the
 primary table of the entity.
- Since:
 - 1.0
 - See Also: