Maak een aangepaste DB Interceptor
package com.felix.dao.interceptor;
import org.hibernate.EmptyInterceptor;
public class CustomDBInterceptor extends EmptyInterceptor {
@Override
public String onPrepareStatement(String sql) {
String commentStr = "/*Comment*/"
return super.onPrepareStatement(commentStr+sql);
}
}
Configureer in het Spring Context-bestand de Interceptor voor de sessiefabriek:
<bean id="customDBInterceptor" class="com.felix.dao.interceptor.CustomDBInterceptor"/>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="datasource" />
<property name="entityInterceptor">
<ref bean="customDBInterceptor"/>
</property>
...
</bean>
Zorg ervoor dat de Custom DB Interceptor geen cyclische afhankelijkheid van de sessionFactory heeft. Met het bovenstaande worden alle queries die via de session factory worden uitgevoerd, onderschept, gewijzigd en vervolgens doorgegeven aan de onPrepareStatement
methode.