java EntityManager每DAO方法
我对EntityManager的用法有疑问。 我读过这样的文章,在一个线程中为每个简单的数据库调用打开和关闭EntityManager,这是不明智的
每个DAO方法有一个EntityManager还是每个DAO方法有一个EntityManager更好
你可以在下面搜索框中键入要查询的问题!
我对EntityManager的用法有疑问。 我读过这样的文章,在一个线程中为每个简单的数据库调用打开和关闭EntityManager,这是不明智的
每个DAO方法有一个EntityManager还是每个DAO方法有一个EntityManager更好
# 1 楼答案
我将简要地解释实体和道之间的关系
[P>考虑了一个在线船舶预订系统的例子,该系统主要由两个实体组成。一,。管理员-执行添加、修改、删除装运详细信息等操作
二,。用户-在线预订船票、在线付款等
在管理实体的这个场景中(添加、修改、删除发货详细信息-该实体可以执行的不同类型的功能),需要一个AdminDAO,它将包含管理实体可以执行的所有功能
此实体从任何Javaservlet类调用
简而言之,每个实体需要一个DAO
# 2 楼答案
应创建EntityManager,执行“工作单元”,然后关闭
http://docs.jboss.org/hibernate/stable/entitymanager/reference/en/html_single/#d0e980
工作单元类似于:插入、更新、删除或一些更复杂的业务逻辑。您应该为每个方法获得一个新的EntityManager实例,因为每个方法都应该包含一个工作单元
更新:还有扩展EntityManager的概念,只要应用程序运行或会话打开,它就会保持打开状态。不过,这将由容器管理