如果要在准备好的语句之后修改查询,可以将其放入Hibernate Interceptor中,并在Spring DB Configuration中进行注册。
您的MyInterceptor应该实现Hibernate
Interceptor.class或扩展EmptyInterceptor.class。您正在寻找的方法是:
public String onPrepareStatement(String sql);
如果您还需要其他功能,可以尝试使用事件监听器,但是我不确定您的情况是否合适。
这里有一些文档:
Hibernate 4.0拦截器和事件如何将拦截器与Spring集成



