首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >每个函数都有EntityManagerFactory吗?

每个函数都有EntityManagerFactory吗?
EN

Stack Overflow用户
提问于 2016-07-07 03:36:45
回答 0查看 509关注 0票数 1

我应该在每个函数中创建并关闭EntityManagerFactory吗?或者我应该在应用程序启动时创建它,并在应用程序关闭时关闭它?我怎样才能做到这一点呢?

例如:

我有两个函数:

从数据库获取对象的函数:

代码语言:javascript
复制
private List<SomeItems> getItems() {

    List<SomeItems> resultList = new ArrayList<SomeItems>();

    entityManagerFactory = Persistence.createEntityManagerFactory("myDatabase");
    entityManager = entityManagerFactory.createEntityManager();

    entityManager.getTransaction().begin();

    TypedQuery<SomeItems> query = entityManager.createQuery(
            "select n from SomeItems n", SomeItems.class);

    resultList = query.getResultList();

    entityManager.getTransaction().commit();
    entityManager.close();
    entityManagerFactory.close();

    return resultList;
}

仅获取项目名称的函数:

代码语言:javascript
复制
private List<String> getItemsName() {
List<String> resultList = new ArrayList<String>();

entityManagerFactory = Persistence.createEntityManagerFactory("myDatabase");
entityManager = entityManagerFactory.createEntityManager();

entityManager.getTransaction().begin();

TypedQuery<String> query = entityManager.createQuery(
        "select n.name from SomeItems n", String.class);

resultList = query.getResultList();

entityManager.getTransaction().commit();
entityManager.close();
entityManagerFactory.close();

return resultList;
}

我该如何改进呢?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38232368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档