|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.springframework.orm.hibernate3.support.AbstractLobType
public abstract class AbstractLobType
Abstract base class for Hibernate UserType implementations that map to LOBs. Retrieves the LobHandler to use from LocalSessionFactoryBean at config time.
For writing LOBs, either an active Spring transaction synchronization or an active JTA transaction (with "jtaTransactionManager" specified on LocalSessionFactoryBean or a Hibernate TransactionManagerLookup configured through the corresponding Hibernate property) is required.
Offers template methods for setting parameters and getting result values, passing in the LobHandler or LobCreator to use.
LobHandler
,
LobCreator
,
LocalSessionFactoryBean.setLobHandler(org.springframework.jdbc.support.lob.LobHandler)
,
LocalSessionFactoryBean.setJtaTransactionManager(javax.transaction.TransactionManager)
Field Summary | |
---|---|
static int |
LOB_CREATOR_SYNCHRONIZATION_ORDER
Order value for TransactionSynchronization objects that clean up LobCreators. |
protected Log |
logger
|
Constructor Summary | |
---|---|
protected |
AbstractLobType()
Constructor used by Hibernate: fetches config-time LobHandler and config-time JTA TransactionManager from LocalSessionFactoryBean. |
protected |
AbstractLobType(LobHandler lobHandler,
TransactionManager jtaTransactionManager)
Constructor used for testing: takes an explicit LobHandler and an explicit JTA TransactionManager (can be null ). |
Method Summary | |
---|---|
Object |
assemble(Serializable cached,
Object owner)
This implementation returns the passed-in value as-is. |
Object |
deepCopy(Object value)
This implementation returns the passed-in value as-is. |
Serializable |
disassemble(Object value)
This implementation returns the passed-in value as-is. |
boolean |
equals(Object x,
Object y)
This implementation delegates to the Hibernate EqualsHelper. |
int |
hashCode(Object x)
This implementation returns the hashCode of the given objectz. |
boolean |
isMutable()
This implementation returns false. |
Object |
nullSafeGet(ResultSet rs,
String[] names,
Object owner)
This implementation delegates to nullSafeGetInternal, passing in the LobHandler of this type. |
protected abstract Object |
nullSafeGetInternal(ResultSet rs,
String[] names,
Object owner,
LobHandler lobHandler)
Template method to extract a value from the given result set. |
void |
nullSafeSet(PreparedStatement st,
Object value,
int index)
This implementation delegates to nullSafeSetInternal, passing in a transaction-synchronized LobCreator for the LobHandler of this type. |
protected abstract void |
nullSafeSetInternal(PreparedStatement ps,
int index,
Object value,
LobCreator lobCreator)
Template method to set the given parameter value on the given statement. |
Object |
replace(Object original,
Object target,
Object owner)
This implementation returns the passed-in original as-is. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.hibernate.usertype.UserType |
---|
returnedClass, sqlTypes |
Field Detail |
---|
public static final int LOB_CREATOR_SYNCHRONIZATION_ORDER
SessionFactoryUtils.SESSION_SYNCHRONIZATION_ORDER
,
Constant Field Valuesprotected final Log logger
Constructor Detail |
---|
protected AbstractLobType()
LocalSessionFactoryBean.getConfigTimeLobHandler()
,
LocalSessionFactoryBean.getConfigTimeTransactionManager()
protected AbstractLobType(LobHandler lobHandler, TransactionManager jtaTransactionManager)
null
).
Method Detail |
---|
public boolean isMutable()
isMutable
in interface UserType
public boolean equals(Object x, Object y) throws HibernateException
equals
in interface UserType
HibernateException
EqualsHelper.equals(java.lang.Object, java.lang.Object)
public int hashCode(Object x) throws HibernateException
hashCode
in interface UserType
HibernateException
public Object deepCopy(Object value) throws HibernateException
deepCopy
in interface UserType
HibernateException
public Serializable disassemble(Object value) throws HibernateException
disassemble
in interface UserType
HibernateException
public Object assemble(Serializable cached, Object owner) throws HibernateException
assemble
in interface UserType
HibernateException
public Object replace(Object original, Object target, Object owner) throws HibernateException
replace
in interface UserType
HibernateException
public final Object nullSafeGet(ResultSet rs, String[] names, Object owner) throws HibernateException, SQLException
nullSafeGet
in interface UserType
HibernateException
SQLException
nullSafeGetInternal(java.sql.ResultSet, java.lang.String[], java.lang.Object, org.springframework.jdbc.support.lob.LobHandler)
public final void nullSafeSet(PreparedStatement st, Object value, int index) throws HibernateException, SQLException
nullSafeSet
in interface UserType
HibernateException
SQLException
nullSafeSetInternal(java.sql.PreparedStatement, int, java.lang.Object, org.springframework.jdbc.support.lob.LobCreator)
protected abstract Object nullSafeGetInternal(ResultSet rs, String[] names, Object owner, LobHandler lobHandler) throws SQLException, IOException, HibernateException
rs
- the ResultSet to extract fromnames
- the column namesowner
- the containing entitylobHandler
- the LobHandler to use
SQLException
- if thrown by JDBC methods
IOException
- if thrown by streaming methods
HibernateException
- in case of any other exceptionsprotected abstract void nullSafeSetInternal(PreparedStatement ps, int index, Object value, LobCreator lobCreator) throws SQLException, IOException, HibernateException
ps
- the PreparedStatement to set onindex
- the statement parameter indexvalue
- the value to setlobCreator
- the LobCreator to use
SQLException
- if thrown by JDBC methods
IOException
- if thrown by streaming methods
HibernateException
- in case of any other exceptions
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |