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
Hibernate.getLobHelper().
-
Method Summary
Modifier and TypeMethodDescriptionvoidfree()static BlobgenerateProxy(byte[] bytes) Generates a BlobImpl using byte data.static BlobgenerateProxy(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.longlength()longposition(byte[] pattern, long start) longsetBinaryStream(long pos) intsetBytes(long pos, byte[] bytes) intsetBytes(long pos, byte[] bytes, int offset, int len) voidtruncate(long len)
-
Method Details
-
getUnderlyingStream
Description copied from interface:BlobImplementerGets access to the data underlying this BLOB.- Specified by:
getUnderlyingStreamin 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:
lengthin interfaceBlob- Throws:
SQLException
-
getBytes
- Specified by:
getBytesin interfaceBlob- Throws:
SQLException
-
getBinaryStream
- Specified by:
getBinaryStreamin 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:
setBinaryStreamin interfaceBlob
-
truncate
public void truncate(long len) -
free
public void free() -
getBinaryStream
- Specified by:
getBinaryStreamin interfaceBlob- Throws:
SQLException
-