private <T> void insertCheckpointData(Object key, T value) {
		logger.entering(CLASSNAME, "insertCheckpointData", new Object[] {key, value});
		Connection conn = null;
		PreparedStatement statement = null;
		ByteArrayOutputStream baos = null;
		ObjectOutputStream oout = null;
		byte[] b;
		try {
			conn = getConnection();
			statement = conn.prepareStatement(INSERT_CHECKPOINTDATA);
			baos = new ByteArrayOutputStream();
			oout = new ObjectOutputStream(baos);
			oout.writeObject(value);

			b = baos.toByteArray();

			statement.setObject(1, key);
			statement.setBytes(2, b);
			statement.executeUpdate();
		} catch (SQLException e) {
			throw new PersistenceException(e);
		} catch (IOException e) {
			throw new PersistenceException(e);
		} finally {
			if (baos != null) {
				try {
					baos.close();
				} catch (IOException e) {
					throw new PersistenceException(e);
				}
			}
			if (oout != null) {
				try {
					oout.close();
				} catch (IOException e) {
					throw new PersistenceException(e);
				}
			}
			cleanupConnection(conn, null, statement);
		}
		logger.exiting(CLASSNAME, "insertCheckpointData");
	}
private < T > void insertCheckpointData ( Object key , T value ) { logger . entering ( CLASSNAME , "insertCheckpointData" , new Object [ ] { key , value } ) ; Connection conn = null ; PreparedStatement statement = null ; ByteArrayOutputStream baos = null ; ObjectOutputStream oout = null ; byte [ ] b ; try { conn = getConnection ( ) ; statement = conn . prepareStatement ( INSERT_CHECKPOINTDATA ) ; baos = new ByteArrayOutputStream ( ) ; oout = new ObjectOutputStream ( baos ) ; oout . writeObject ( value ) ; b = baos . toByteArray ( ) ; statement . setObject ( 1 , key ) ; statement . setBytes ( 2 , b ) ; statement . executeUpdate ( ) ; } catch ( SQLException e ) { throw new PersistenceException ( e ) ; } catch ( IOException e ) { throw new PersistenceException ( e ) ; } finally { if ( baos != null ) { try { baos . close ( ) ; } catch ( IOException e ) { throw new PersistenceException ( e ) ; } } if ( oout != null ) { try { oout . close ( ) ; } catch ( IOException e ) { throw new PersistenceException ( e ) ; } } cleanupConnection ( conn , null , statement ) ; } logger . exiting ( CLASSNAME , "insertCheckpointData" ) ; }
insert data to DB table

@param key - the IPersistenceDataKey object
@param value - serializable object to store

Ex. insert into tablename values(?, ?)