This is affecting the Hibernate second-level cache simple tutorials where queries are executed outside transactions.
The problem is that the new integration for the query results (result of
ISPN-9075) does not verify if there's an on-going transaction before registering a transaction completed synchronization where the query cache is updated.
As a result, when a non-transactional query happens, the transaction synchronization callback does not happen and the query cache is not updated.
Fix exists in 9.4.x/master and just needs backporting to 9.3.x.