为什么即使我关闭EntityManager我也无法操纵数据库?

时间:2015-09-09 14:04:02

标签: java hibernate

我创建EntityManager,开始一个事务,提交它,然后关闭EntityManager。为什么我的应用程序运行时无法操作数据库(即使在关闭EntityManager连接em.close();后)?

    public void create(Product product) {
        EntityManager em = null;
        try {
            em = getEntityManager();
            em.getTransaction().begin();
            em.persist(product);
            em.getTransaction().commit();
            em.close();
        } finally {
            if (em != null) {
                em.close();
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

我遇到过与单用户数据库类似的问题。我怀疑问题是实体管理器正在使用从连接池获取的JDBC连接,因此即使实体管理器已关闭,连接仍保持打开状态,已返回池中以供将来使用。

This question建议允许多次访问H2的一些可能性。

或者,如何下载像MySQL一样的东西?