public class TemporaryLobCreator extends Object implements LobCreator
LobCreator implementation based on temporary LOBs,
using JDBC 4.0's Connection.createBlob() /
Connection.createClob() mechanism.
Used by DefaultLobHandler's DefaultLobHandler.setCreateTemporaryLob(boolean) mode.
Can also be used directly to reuse the tracking and freeing of temporary LOBs.
DefaultLobHandler.setCreateTemporaryLob(boolean),
Connection.createBlob(),
Connection.createClob()| Constructor and Description |
|---|
TemporaryLobCreator() |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Close this LobCreator session and free its temporarily created BLOBs and CLOBs.
|
void |
setBlobAsBinaryStream(PreparedStatement ps,
int paramIndex,
InputStream binaryStream,
int contentLength)
Set the given content as binary stream on the given statement, using the given
parameter index.
|
void |
setBlobAsBytes(PreparedStatement ps,
int paramIndex,
byte[] content)
Set the given content as bytes on the given statement, using the given
parameter index.
|
void |
setClobAsAsciiStream(PreparedStatement ps,
int paramIndex,
InputStream asciiStream,
int contentLength)
Set the given content as ASCII stream on the given statement, using the given
parameter index.
|
void |
setClobAsCharacterStream(PreparedStatement ps,
int paramIndex,
Reader characterStream,
int contentLength)
Set the given content as character stream on the given statement, using the given
parameter index.
|
void |
setClobAsString(PreparedStatement ps,
int paramIndex,
String content)
Set the given content as String on the given statement, using the given
parameter index.
|
protected static final Log logger
public void setBlobAsBytes(PreparedStatement ps, int paramIndex, byte[] content) throws SQLException
LobCreatorPreparedStatement.setBytes
or create a Blob instance for it, depending on the database and driver.setBlobAsBytes in interface LobCreatorps - the PreparedStatement to the set the content onparamIndex - the parameter index to usecontent - the content as byte array, or null for SQL NULLSQLException - if thrown by JDBC methodsPreparedStatement.setBytes(int, byte[])public void setBlobAsBinaryStream(PreparedStatement ps, int paramIndex, InputStream binaryStream, int contentLength) throws SQLException
LobCreatorPreparedStatement.setBinaryStream
or create a Blob instance for it, depending on the database and driver.setBlobAsBinaryStream in interface LobCreatorps - the PreparedStatement to the set the content onparamIndex - the parameter index to usebinaryStream - the content as binary stream, or null for SQL NULLSQLException - if thrown by JDBC methodsPreparedStatement.setBinaryStream(int, java.io.InputStream, int)public void setClobAsString(PreparedStatement ps, int paramIndex, String content) throws SQLException
LobCreatorPreparedStatement.setString
or create a Clob instance for it, depending on the database and driver.setClobAsString in interface LobCreatorps - the PreparedStatement to the set the content onparamIndex - the parameter index to usecontent - the content as String, or null for SQL NULLSQLException - if thrown by JDBC methodsPreparedStatement.setBytes(int, byte[])public void setClobAsAsciiStream(PreparedStatement ps, int paramIndex, InputStream asciiStream, int contentLength) throws SQLException
LobCreatorPreparedStatement.setAsciiStream
or create a Clob instance for it, depending on the database and driver.setClobAsAsciiStream in interface LobCreatorps - the PreparedStatement to the set the content onparamIndex - the parameter index to useasciiStream - the content as ASCII stream, or null for SQL NULLSQLException - if thrown by JDBC methodsPreparedStatement.setAsciiStream(int, java.io.InputStream, int)public void setClobAsCharacterStream(PreparedStatement ps, int paramIndex, Reader characterStream, int contentLength) throws SQLException
LobCreatorPreparedStatement.setCharacterStream
or create a Clob instance for it, depending on the database and driver.setClobAsCharacterStream in interface LobCreatorps - the PreparedStatement to the set the content onparamIndex - the parameter index to usecharacterStream - the content as character stream, or null for SQL NULLSQLException - if thrown by JDBC methodsPreparedStatement.setCharacterStream(int, java.io.Reader, int)public void close()
LobCreatorNOTE: Needs to be invoked after the involved PreparedStatements have been executed or the affected O/R mapping sessions have been flushed. Otherwise, the database resources for the temporary BLOBs might stay allocated.
close in interface Closeableclose in interface AutoCloseableclose in interface LobCreator