It is capable of searching the entity cache first, and if the entity has already been fetched then it will come from the cache rather than querying for it again.
You can test this with this code (just pop it into a controller somewhere and check the query count in the debug output: