我使用@PersistenceContext在通用DAO中注入entityManager。 Spring规范说使用@persistenceContext注入的实体管理器是线程安全的。 我的通用dao类如下。
@Repository
public class GenericDAOImpl implements GenericDAO {
@PersistenceContext
private EntityManager entityManager
// all database methods.
}
如您所见,entityManager是类级变量,并且只有一个GenericDAOImpl实例,因为它是单例,所以entitymanager将与所有请求共享。因为它是线程安全的,意味着一次只能访问一个线程。所以我的应用程序不能支持多个数据库请求。从性能的角度来看,你不认为这是一个很大的缺点吗?我希望我按照春季规范做正确的事。