我有一个使用 JPA(EclipseLink) 的简单 Java SE 应用程序。默认情况下,我有一个“默认”连接池,最多允许32 个连接。
假设我做这样的事情:
EntityManagerFactory emFactory = Persistence.createEntityManagerFactory("myPU");
//read
EntityManager em = emFactory.createEntityManager();
TypedQuery<Entity.class> q = em.createQuery("Select e from Entity e", Entity.class);
List<Entity> entities = q.getResultList();
em.close();
//write
em = emFactory.createEntityManager();
Entity e = new Entity();
em.getTransaction().begin();
em.persist(e);
em.getTransaction().commit();
em.close();
- 什么时候真正从连接池请求连接,什么时候再次释放?
- 一个查询可以从池中请求多个连接吗?
- 如果我将最大连接数从 32 设置为 1,会有区别吗?