createEntityManager - 每个请求或每个应用程序?

时间:2012-10-01 20:37:14

标签: playorm

单独使用Astyanax我知道我们可以轻松设置连接池。但是,我不确定当你这样做会发生什么 NoSqlEntityManager other = factory.createEntityManager();     要么 NoSqlSession session = mgr.getSession();

  • 我每次需要连接时都应该创建一个entityManager吗?
  • 或者我应该只有1个EM并为每个查询创建一个会话?

更多的话,所以不要让我保存:(。

1 个答案:

答案 0 :(得分:1)

为Web应用程序中的每个webrequest或非Web应用程序中的每个工作单元创建EntityManager。它与Hibernate的EntityManager完全相同,并且还维护着第一级缓存。

在一次网络请求期间,您通常会进行1-4次查询。

就像hibernate一样,NoSqlEntityManager维护一级缓存(根据我的经验,在读取对象时会获得相当多的缓存命中率。)