Search code examples
hibernateloggingormgrailssecond-level-cache

How to know/log whether Hibernate 2nd-level cache was used or not for a query?


Currently, in order to check if the Hibernate 2nd-level cache was used for a Database query, I check my SQL log (through p6spy or logSql=true in Datasource.groovy) to see if the Grais/Hibernate triggered an SQL query. And I assume that if the query was not logged, it might mean that cache was used.

It is pretty complicated for a simple information, isn't it?

So do you know a simple way to get and log the information : "Cache was used vs. DB query was triggered" ?

EDIT: Following Pascal recommendations, I have added this trace 'org.hibernate.cache' to my log4j configuration.


Solution

  • You could activate the org.hibernate.cache category to log all second-level cache activity. To do so (according to the Grails FAQ), edit your Config.groovy file. Find the line with:

    hibernate = "off"
    

    and replace it with:

    hibernate.cache = "trace,stdout"