为什么EclipseLinkConnectionHandle不实现releaseConnection方法?

时间:2018-02-05 10:33:24

标签: eclipselink

在DefaultJpaDialect.releaseJdbcConnection()中,doc说: "假设使用EntityManager隐式关闭Connection,此实现不执行任何操作。

如果JPA实现返回一个Connection句柄,它希望应用程序在使用后关闭,那么dialect实现需要在这里调用Connection.close()(或其他具有类似效果的方法)。"

在EclipseLinkJpaDialect.getJdbcConnection()中,它返回EclipseLinkConnectionHandle。 但是,在EclipseLinkConnectionHandle中似乎没有releaseConnection的实现代码。

    private static class EclipseLinkConnectionHandle implements ConnectionHandle {

    private final EntityManager entityManager;

    private Connection connection;

    public EclipseLinkConnectionHandle(EntityManager entityManager) {
        this.entityManager = entityManager;
    }

    @Override
    public Connection getConnection() {
        if (this.connection == null) {
            this.connection = this.entityManager.unwrap(Connection.class);
        }
        return this.connection;
    }

    @Override
    public void releaseConnection(Connection con) {
    }
}

在这种情况下,如何关闭打开的连接?或者连接是如何关闭的?

0 个答案:

没有答案