用于HQL的Hibernate拦截器/侦听器

Man*_*gal 6 hibernate listener

我有一个spring web应用程序,我想阻止hibernate的插入/删除/更新操作,如果httpSession中的用户是一种超级用户(其中​​user.isSuper()返回true).

我已经为这些事件实现了监听器,但问题是监听器没有为HQL查询(session.executeUpdate())触发.

同样的问题也是拦截器.

请帮忙.

Vij*_*pta 1

尝试以下代码而不是 session.executeUpdate() :-

  getSessionFactory().getCurrentSession().setFlushMode(FlushMode.NEVER);
  getSessionFactory().getCurrentSession().close()
Run Code Online (Sandbox Code Playgroud)