我对Spring中的事务管理和实体管理器注入几乎没有什么困惑。
我有一个应用程序从表中读取数据并创建关系,如人有城市,搜索城市,并将城市分配给Person对象。
现在,当我根据不同的搜索条件(zip,名称,名称/州)搜索city,My City DAO / Repository搜索城市时。在这里我要求spring注入实体管理器进行查询。
当我存储我的Person对象时,我的DAO of Person要求注入Entity Manger,
现在的问题是,在多线程环境中将创建多少个Entity Manger对象以及这会产生什么影响,如果这是问题可能是更好的解决方案
答案 0 :(得分:0)
每个"工作单元应该有一个EntityManager
个实例" (通常是交易)。然后可以在提交后进行垃圾回收。实际上,这通常由容器管理,因此它将在幕后完成。
另一方面,EntityManagerFactory
通常只应为每个持久性单元创建一次。