Generalnie zrealizowałeś sesję php, tyle że z wykorzystaniem bazy.
Zaletą która widzę to brak refreshTokena jednak dużą wadą jest sprawdzanie bazy danych z każdym requestem użytkownika.
To żadne obciążenie dla aplikacji. I tak musisz wyciągnąć usera z bazy. Jedno query więcej nie zrobi różnicy. Zawsze możesz użyć w ORMie flagi eager i wtedy poleci join.