Package org.hibernate.engine.jdbc.proxy
Class BlobProxy
java.lang.Object
org.hibernate.engine.jdbc.proxy.BlobProxy
- All Implemented Interfaces:
Blob
,BlobImplementer
Manages aspects of representing
Blob
objects.- See Also:
- API Note:
- This class is not intended to be called directly by the application program.
Instead, use
Session.getLobHelper()
.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
free()
static Blob
generateProxy
(byte[] bytes) Generates a BlobImpl using byte data.static Blob
generateProxy
(InputStream stream, long length) Generates a BlobImpl proxy using a given number of bytes from an InputStream.getBinaryStream
(long start, long length) byte[]
getBytes
(long start, int length) Gets access to the data underlying this BLOB.long
length()
long
position
(byte[] pattern, long start) long
setBinaryStream
(long pos) int
setBytes
(long pos, byte[] bytes) int
setBytes
(long pos, byte[] bytes, int offset, int len) void
truncate
(long len)
-
Method Details
-
getUnderlyingStream
Description copied from interface:BlobImplementer
Gets access to the data underlying this BLOB.- Specified by:
getUnderlyingStream
in interfaceBlobImplementer
- Returns:
- Access to the underlying data.
- Throws:
SQLException
-
generateProxy
Generates a BlobImpl using byte data.- Parameters:
bytes
- The data to be created as a Blob.- Returns:
- The BlobProxy instance to represent this data.
-
generateProxy
Generates a BlobImpl proxy using a given number of bytes from an InputStream. Be aware that certain database drivers will automatically close the provided InputStream after the contents have been written to the database. This may cause unintended side effects if the entity is also audited by Envers. In this case, it's recommended to usegenerateProxy(byte[])
instead as it isn't affected by this non-standard behavior.- Parameters:
stream
- The input stream of bytes to be created as a Blob.length
- The number of bytes from stream to be written to the Blob.- Returns:
- The BlobProxy instance to represent this data.
-
length
- Specified by:
length
in interfaceBlob
- Throws:
SQLException
-
getBytes
- Specified by:
getBytes
in interfaceBlob
- Throws:
SQLException
-
getBinaryStream
- Specified by:
getBinaryStream
in interfaceBlob
- Throws:
SQLException
-
position
public long position(byte[] pattern, long start) -
position
-
setBytes
public int setBytes(long pos, byte[] bytes) -
setBytes
public int setBytes(long pos, byte[] bytes, int offset, int len) -
setBinaryStream
- Specified by:
setBinaryStream
in interfaceBlob
-
truncate
public void truncate(long len) -
free
public void free() -
getBinaryStream
- Specified by:
getBinaryStream
in interfaceBlob
- Throws:
SQLException
-