【发布时间】:2018-11-07 06:47:13
【问题描述】:
我们正在尝试从 EntityManager 获取连接对象
下面是示例代码
final Session unwrap = proxy.unwrap(Session.class);
unwrap.doWork(new Work()
{
@Override
public void execute(Connection connection) throws SQLException
{
PreparedStatement ps = connection.prepareStatement(MY_QUERY);
for (Object value : valueSet)
{
....
....
ps.addBatch();
}
try
{
int[] ints = ps.executeBatch();
} finally
{
ps.close();
}
}
});
这很好用。
我们担心的是,当调用此代码时,每次都会在 DataSource 上调用 getConnection。这是否意味着从池中获得了新的连接?
这对我们的用例有性能影响。 我们的理解是,将使用当前的活动连接。
理解有误吗?
【问题讨论】:
-
请查看stackoverflow.com/questions/15161449/…。它会回答你的问题。
-
这取决于你的配置,你使用连接池吗?它是如何配置的?
标签: java hibernate database-connection