spring - Hibernate EntityInterceptor (EmptyInterceptor):过滤掉所有@Transaction(readOnly=TRUE) 事务
问题描述
我定义并成功插入了捕获所有事务的 Hibernate DB 拦截器。
public class HibernateTransactionInterceptor extends EmptyInterceptor {
@Override
public void afterTransactionBegin(Transaction tx) {
System.out.println("Intercepted");
// ...
super.afterTransactionBegin(tx);
}
}
应用程序上下文.xml:
<bean id="transactionInterceptor" class="myapp.interceptor.HibernateTransactionInterceptor" />
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<!-- Plug into SessionFactory the Interceptor bean define above -->
<property name="entityInterceptor" ref="transactionInterceptor" />
...
</bean>
现在,拦截器触发所有 @Transaction
服务方法。但我只需要拦截@Transaction(readOnly=FALSE)
方法(即过滤掉所有只读方法)。有没有办法配置它?
解决方案
推荐阅读
- firebase - Firebase 负面主题条件停止工作
- python - ModuleNotFoundError:没有名为“Quandl”的模块
- ruby-on-rails - ActiveRecord:在多语句查询中忽略第一个查询的结果
- swift - 在导航栏中使用 searchBar 时需要显示导航标题
- apache-spark - 舍入数据框中的所有列 - 两位小数
- c# - 如何在派生控制器中的 AuthorizeAttribute 之前执行父控制器中的 AuthorizeAttribute
- c++ - C ++无法构造扩展模板的类
- android - 如何在层列表 Android Studio 中更改可绘制项目
- swift - Swift Combine 和 SwiftUI 理解需要修正
- c++ - std::this_thread::get_id 是否独立于线程的创建方式工作?