@Override protected Session getSessionUnderTest() throws Throwable { connectionUnderTest = cp.getConnection(); Session session = sessionFactory().withOptions().connection( connectionUnderTest ).openSession(); session.beginTransaction(); return session; }
@Test @RequiresDialect(value = H2Dialect.class, comment = "this is more like a unit test") public void testUserProvidedConnection() throws Exception { ConnectionProvider dcp = ConnectionProviderBuilder.buildConnectionProvider(); Session s = sessionFactory().withOptions().connection( dcp.getConnection() ).openSession(); Transaction tx = s.beginTransaction(); s.createQuery( "from Fo" ).list(); tx.commit(); Connection c = s.disconnect(); assertTrue( c != null ); s.reconnect( c ); tx = s.beginTransaction(); s.createQuery( "from Fo" ).list(); tx.commit(); c.close(); }
@Override public Session openSession(final Connection connection) { final org.hibernate.Session sessionV5 = getSessionFactoryV5().withOptions().connection(connection).openSession(); setupV5Session(sessionV5); return sessionAdapter.apply(sessionV5); }
@Override public Session openSession(final Connection connection, final Interceptor interceptor) { final org.hibernate.Session sessionV5 = getSessionFactoryV5().withOptions().connection(connection).interceptor(InterceptorV5Adapter.adapt(interceptor)).openSession(); setupV5Session(sessionV5); return sessionAdapter.apply(sessionV5); }
@Override public Session openSession() { HibernateBridgeMode bridgeMode = sessionFactoryBridge.getBridgeMode(); // provide a session bridge (session v2 / v5 side-by-side mode) if (bridgeMode.isSessionBridgeEnabled()) { return sessionBridgeFactory.openSession(bridgeMode, connection, interceptor).getV5SessionProxy(); } return sessionFactoryBridge.getSessionFactoryV5() .withOptions() .connection(connection) .interceptor(interceptor) .openSession(); }