@Asynchronous 和@Scheduled,entityManager 还是entityManagerFactory?
@Asynchronous and @Scheduled, entityManager or entityManagerFactory?
我想知道是否建议在使用 @Asynchronous or @schedule 注释的方法中使用 entityManagerFactory 而不是使用 entityManager?来自文档:
While EntityManagerFactory instances are thread-safe, EntityManager
instances are not.
那么它是强制性的吗?
无状态和有状态的EJB都被指定为线程安全的,所以需要EJB容器保证一个bean实例上一次只能使用一个方法,所以不用担心EntityManager的字段这些bean类型。对于单例来说,默认的并发模型是容器管理的写锁并发,所以你不需要担心那些bean的EntityManager字段的并发问题,除非你改变了并发设置,然后你可能需要考虑使用EntityManagerFactory。
我想知道是否建议在使用 @Asynchronous or @schedule 注释的方法中使用 entityManagerFactory 而不是使用 entityManager?来自文档:
While EntityManagerFactory instances are thread-safe, EntityManager instances are not.
那么它是强制性的吗?
无状态和有状态的EJB都被指定为线程安全的,所以需要EJB容器保证一个bean实例上一次只能使用一个方法,所以不用担心EntityManager的字段这些bean类型。对于单例来说,默认的并发模型是容器管理的写锁并发,所以你不需要担心那些bean的EntityManager字段的并发问题,除非你改变了并发设置,然后你可能需要考虑使用EntityManagerFactory。