|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.springframework.orm.hibernate.support.AbstractLobType
org.springframework.orm.hibernate.support.BlobSerializableType
Hibernate UserType implementation for arbitrary objects that get serialized to BLOBs. Retrieves the LobHandler to use from LocalSessionFactoryBean at config time.
Can also be defined in generic Hibernate mappings, as DefaultLobCreator will work with most JDBC-compliant databases respectively drivers. In this case, the field type does not have to be BLOB: For databases like MySQL and MS SQL Server, any large enough binary type will work.
LobHandler
,
LocalSessionFactoryBean.setLobHandler(org.springframework.jdbc.support.lob.LobHandler)
Field Summary |
Fields inherited from class org.springframework.orm.hibernate.support.AbstractLobType |
logger |
Constructor Summary | |
|
BlobSerializableType()
Constructor used by Hibernate: fetches config-time LobHandler and config-time JTA TransactionManager from LocalSessionFactoryBean. |
protected |
BlobSerializableType(LobHandler lobHandler,
javax.transaction.TransactionManager jtaTransactionManager)
Constructor used for testing: takes an explicit LobHandler and an explicit JTA TransactionManager (can be null). |
Method Summary | |
java.lang.Object |
deepCopy(java.lang.Object value)
This implementation returns the passed-in value as-is. |
boolean |
isMutable()
This implementation returns false. |
protected java.lang.Object |
nullSafeGetInternal(java.sql.ResultSet rs,
int index,
LobHandler lobHandler)
Template method to extract a value from the given result set. |
protected void |
nullSafeSetInternal(java.sql.PreparedStatement ps,
int index,
java.lang.Object value,
LobCreator lobCreator)
Template method to set the given value on the given statement. |
java.lang.Class |
returnedClass()
|
int[] |
sqlTypes()
|
Methods inherited from class org.springframework.orm.hibernate.support.AbstractLobType |
equals, nullSafeGet, nullSafeSet |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public BlobSerializableType()
LocalSessionFactoryBean.getConfigTimeLobHandler()
,
LocalSessionFactoryBean.getConfigTimeTransactionManager()
protected BlobSerializableType(LobHandler lobHandler, javax.transaction.TransactionManager jtaTransactionManager)
Method Detail |
public int[] sqlTypes()
public java.lang.Class returnedClass()
public boolean isMutable()
AbstractLobType
isMutable
in interface net.sf.hibernate.UserType
isMutable
in class AbstractLobType
public java.lang.Object deepCopy(java.lang.Object value) throws net.sf.hibernate.HibernateException
AbstractLobType
deepCopy
in interface net.sf.hibernate.UserType
deepCopy
in class AbstractLobType
net.sf.hibernate.HibernateException
protected java.lang.Object nullSafeGetInternal(java.sql.ResultSet rs, int index, LobHandler lobHandler) throws java.sql.SQLException, java.io.IOException, net.sf.hibernate.HibernateException
AbstractLobType
nullSafeGetInternal
in class AbstractLobType
rs
- the ResultSet to extract fromindex
- the index in the ResultSetlobHandler
- the LobHandler to use
java.sql.SQLException
- if thrown by JDBC methods
java.io.IOException
- if thrown by streaming methods
net.sf.hibernate.HibernateException
- in case of any other exceptionsprotected void nullSafeSetInternal(java.sql.PreparedStatement ps, int index, java.lang.Object value, LobCreator lobCreator) throws java.sql.SQLException, java.io.IOException
AbstractLobType
nullSafeSetInternal
in class AbstractLobType
ps
- the PreparedStatement to set onindex
- the statement parameter indexvalue
- the value to setlobCreator
- the LobCreator to use
java.io.IOException
- if thrown by streaming methods
java.sql.SQLException
- if thrown by JDBC methods
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |