如何在JPA中使Hibernate拦截器线程安全?

时间:2019-02-15 06:44:42

标签: java spring multithreading hibernate jpa

我在Spring上使用JPA,我的类是@Autowired和@Sessionscope,问题在于线程安全的拦截器,因为它不是@Autowired并由hibernate内部调用,我确实为hibernate sessionFactory找到了一些代码示例但找不到EntityManager JPA拦截器。

我尝试添加无效的注释

@Component(value = "AuditLogService")
@Scope(value = org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROTOTYPE)

Persistence.xml

<property name="hibernate.ejb.interceptor" value="com.retrans.coder.audit.service.impl.AuditLogInterceptor" />

Using ApplicationContext getting the beans

ApplicationContextProvider.getApplicationContext() To do some operations like autidLog.

我们尝试用多用户测试应用程序,问题是审核日志中混入了不同的用户信息,例如ABC User做XYZ工作,但在日志中却说这是由DEF用户完成的。只有一些数据混乱了,我敢肯定并发用户数量的增加是否会更加混乱。

0 个答案:

没有答案