EntitiyListener是否在同一个线程中运行?

时间:2018-04-30 09:03:11

标签: java jpa java-ee entitylisteners

我有一个用

注释的实体
@EntityListener(MyListener.class)

在MyListener类中,我有一个用

注释的方法
@PrePersist 

在这个方法中,我是否拥有在Entitiy上进行更改的相同线程?或者它可以是另一个线程?我已经在线程上存储了一些信息,这些信息在实体上进行了更改,我想在侦听器中访问此信息。 谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

是的,它始终是相同的线程。从JPA规范(v2.2):

  

不能同时在多个实体管理器之间共享实体管理器   执行线程,作为实体管理器和持久化上下文   不需要线程安全。

实体管理器仅在单个线程中使用(或者您有错误),因此必须同样适用于该实体。