An "SQL query cache" propably means either:
a) compiled SQL queries are cached by the
JDBC driver, or
b) the results of executed SQL queries are cached by the JDBC driver or by the application's data access layer
In either case, this is all about caching
implementation details. Object level caching means that you're caching abstract entities -- objects -- instead of raw data or calculation results.
Please correct me if I've mangled the concepts somehow.