Hibernate和Spring修改查询提交到数据库之前(Hibernate and Spring

2019-10-21 09:09发布

我配置了春天的数据(@Repository)注解来执行一个Hibernate查询。 我想之前被提交到数据库,并在特定条件得到满足,修改一点点赶上查询。

什么是这样做的最佳选择? 我prefere一个JPA解决方案而不是Hibernate的解决方案,但是Hibernate的解决方案也将正常工作。

Answer 1:

如果你想在事先准备好的声明后修改查询,你可以做它变成一个Hibernate的拦截和Spring DB配置中注册。

你MyInterceptor要么应该实现休眠Interceptor.class或扩展EmptyInterceptor.class。 你正在寻找的方法是:

public String onPrepareStatement(String sql);

如果你需要更多的东西,你能给与事件监听器一试,但我不知道有一个对你的情况。

这里是一些文档:

Hibernate的4.0拦截器和事件 如何将拦截器与Spring集成



文章来源: Hibernate and Spring modify query Before Submitting to DB