Я думаю, что если вы кешируете запросы, которые вам нужны, в кеше запросов, а также во всех этих сущностях в кеше второго уровня (в кеше запросов хранятся только идентификаторы), тогда да, это будет действовать как «замена» базы данных как до тех пор, пока сущности увлажнены настолько, что они вам нужны в кэше второго уровня.
Любые обновления таблиц в сеансе будут вызывать обновление кеша запросов, а любые отложенные загруженные коллекции, которые не будут гидратированы, будут вызывать запросы при их обращении.