Optimistic Lock
6.1.Optimistic Lock
To enable object optimistic lock, add ‘version’ tag value:
1. type User struct {
2. Id int64
3. Name string
4. Version int `xorm:"version"`
5. }
The version starts with 1 when inserted to DB. For updating make sure originated version value is used for optimistic lock check.
1. var user User
2. engine.ID(1).Get(&user)
3. // SELECT * FROM user WHERE id = ?
4. engine.ID(1).Update(&user)
5. // UPDATE user SET ..., version = version + 1 WHERE id = ? AND version = ?
