This blog post (referenced here) says that SQLQuery does not use the Hibernate session cache. However, a) there's no evidence, b) they don't use SQLQuery.addEntity, which might give information allowing Hibernate to use its cache.
The docs don't mention caching one way or another.
Does SQLQuery use the session cache if I use addEntity?
Edit: This section of the docs says:
Whenever you pass an object to save(), update() or saveOrUpdate(), and whenever you retrieve an object using load(), get(), list(), iterate() or scroll(), that object is added to the internal cache of the Session.
Since addEntity() allows list() to return objects, that implies it is using the cache. How can I check? Those same docs say there is a "contains" method for the cache, and one can browse the second-level cache, but not how to browse the session cache.
Edit #2: By turning on logging of Hibernate queries, it does not seem to be caching, but perhaps some set of circumstances would make it cache.