拦截sql语句,利用 hibernate 中的某个接口类,重现其中的方法。
1、新建一个拦截类,并继承 hibernate 中的 StatementInspector 接口类
import lombok.extern.slf4j.Slf4j;
import org.hibernate.resource.jdbc.spi.StatementInspector;
/**
* @Author: xu_jinhang
* @Date: 2020/4/16 11:42
*/
@Slf4j
public class JpaInterceptor implements StatementInspector {
@Override
public String inspect(String sql) {
log.info("语句:"+sql);
return sql;
}
}
2、把当前创建的类,注册到容器中,
spring:
jpa:
properties:
hibernate:
session_factory:
statement_inspector: com.example.jpaUtil.JpaInterceptor
该注册,用的是配置文件注册,还可以用注解注册容器。
3、可以在 inspect 方法中,可以对sql进行自己的各种处理,以实现某种功能。