gpt4 book ai didi

java - Java EE EntityManager 如何管理 DB Connection

转载 作者:行者123 更新时间:2023-11-30 04:31:12 25 4
gpt4 key购买 nike

假设我有一个 EntityManager 对象em,并且我有以下伪代码:

@PersistenceContext(unitName = "myPU")
private EntityManager em;

public void runQuery()
{
for(int i=0; i<100; i++)
{ Query q = em.createNativeQuery(someQuery);
List list = q.getResultList();
//process result
...
...
}
}

entityManager如何管理底层数据库连接?上述代码只有 1 个连接 session 还是 100 个 session ?

我问的原因是,对于每个连接 session ,我需要在运行查询之前创建一个临时表。我想做的是这样的:

    for(int i=0; i<100; i++)
{ //first check if temp table does not exist
createTemptTable;
// then run the query
Query q = em.createNativeQuery(someQuery);
List list = q.getResultList();
//process result
...
...
}

但是我如何确定它将在同一个 session 中创建表并运行查询?

最佳答案

注入(inject)的 EntityManager 有一个到数据库的连接,该连接取自容器管理的连接池。因此,上述代码中的所有查询都将在与数据库的同一连接上运行。

关于java - Java EE EntityManager 如何管理 DB Connection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14609293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com