@@ -309,7 +309,7 @@ trait DatabaseAdapter {
309309 protected def execFailSafeExecute (sw : StatementWriter , silenceException : SQLException => Boolean ): Unit = {
310310 val s = Session .currentSession
311311 val c = s.connection
312- val stat = c. createStatement
312+ val stat = createStatement(c)
313313 val sp =
314314 if (failureOfStatementRequiresRollback) Some (c.setSavepoint)
315315 else None
@@ -346,20 +346,26 @@ trait DatabaseAdapter {
346346 _exec[A ](s, sw, block, p)
347347 }
348348
349+ protected def prepareStatement (conn : Connection , statement : String ): PreparedStatement =
350+ conn.prepareStatement(statement)
351+
352+ protected def createStatement (conn : Connection ): Statement =
353+ conn.createStatement()
354+
349355 def executeQuery (s : Session , sw : StatementWriter ) = exec(s, sw) { params =>
350- val st = s.connection.prepareStatement( sw.statement)
356+ val st = prepareStatement( s.connection, sw.statement)
351357 fillParamsInto(params, st)
352358 (st.executeQuery, st)
353359 }
354360
355361 def executeUpdate (s : Session , sw : StatementWriter ): (Int ,PreparedStatement ) = exec(s, sw) { params =>
356- val st = s.connection.prepareStatement( sw.statement)
362+ val st = prepareStatement( s.connection, sw.statement)
357363 fillParamsInto(params, st)
358364 (st.executeUpdate, st)
359365 }
360366
361367 def executeUpdateAndCloseStatement (s : Session , sw : StatementWriter ): Int = exec(s, sw) { params =>
362- val st = s.connection.prepareStatement( sw.statement)
368+ val st = prepareStatement( s.connection, sw.statement)
363369 fillParamsInto(params, st)
364370 try {
365371 st.executeUpdate
0 commit comments