When should I close connection with database ? I create connection one time when application starting, and then I use entity manager in this way:

我应该何时关闭与数据库的连接?我在应用程序启动时创建了一个连接,然后使用entity manager:

public void createItem(TYPE item){
        em.getTransaction().begin();
        em.persist(item);
        em.getTransaction().commit();
    }

public class Connection {  //creating connection (one time)
      private static final String PERSISTENCE_UNIT_NAME = "ejb";
      private static EntityManagerFactory factory;
      private static EntityManager em;

      static{
          factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
          em = factory.createEntityManager();
      }
      public static EntityManager getEntityManager() {
        return em;
      }
}

I think it does not make sense to close connection evey each operation (like create) and create new connecion when I want to save item again.

我认为当我想再次保存项目时,关闭每个操作(比如create)的连接并创建新的connecion是没有意义的。

1 个解决方案

#1


2

You should not make entitymanager static, it should be an object that is removed after you do your transactions. This also mean that you should close it after your operation is finished. EntitymanagerFactory can stay static, you only need 1 for each program run. The reason as to why you should close it is that you are wasting resources on your device.

您不应该使entitymanager静态,它应该是在您完成事务之后删除的对象。这也意味着你应该在手术结束后关闭它。EntitymanagerFactory可以保持静态,每个程序运行只需要1个。为什么你应该关闭它的原因是你在你的设备上浪费资源。

Longer/ better explanation on EMF https://stackoverflow.com/a/4544053/6270761

关于EMF https://stackoverflow.com/a/4544053/6270761的更长的/更好的解释

更多相关文章

  1. 请问java中调用一个静态方法()内传入一个对象是表示什么意思?
  2. 使用字符串参数调用AndroidJni静态方法。
  3. 基于Java的应用程序的GUI测试工具
  4. 为内存密集型应用程序增加JVM最大堆大小
  5. java与ASP.NET网络应用程序在生命期开始时的比较。
  6. Spring Bean类可以包含静态方法吗?
  7. java小练习(一个数如果恰好等于它的因子之和,这个数就称为“完数”
  8. 如何在另一个类中使用静态类中的变量?
  9. JAVA 静态方法和静态变量和final和※静态import※

随机推荐

  1. 百度android定位SDK问题
  2. Android-开发搭建
  3. android之常用知识点(一)
  4. android中线程进程模型
  5. 对Android系统权限的认识
  6. android 仿QQ界面
  7. Android关于分屏的知识总结
  8. Android真响应式架构——Model层设计
  9. Android中的字符串
  10. 学习培训Android软件工程师之不归路