это норма, когда нет дженериков :) у меня сейчас просто билдер, и там тоже везде интерфейсы
Еще косяк - нужно руками указывать если хочется не все обновлять
res, err := db.Model(book).Column("title").WherePK().Update()
напряжно что он всегда все поля модели обновляет.
вдвойне печальнее, если там триггер висит
on update of ... some columns