Jag hade exakt samma problem här a> :
func GetPageAfterUpdate(dp model.DbProvider, id int, update int, page *Page) (err error) {
tx := dp.DB().Begin()
err = tx.Exec(`set transaction isolation level repeatable read`).Error
if err != nil {
tx.Rollback()
return
}
Och det är precis gorm med sid.