public class CollectionToStringUserType
extends java.lang.Object
implements org.hibernate.usertype.UserType, org.hibernate.usertype.ParameterizedType, java.io.Serializable
ConvertUtilsBean
User: Zhang Kaitao
Date: 13-4-16 上午8:32
Version: 1.0
限定符和类型 | 字段和说明 |
---|---|
private java.lang.Class |
collectionType
默认 ArrayList
|
private java.lang.Class |
elementType
默认 java.lang.Long
|
private java.lang.String |
separator
默认,
|
构造器和说明 |
---|
CollectionToStringUserType() |
限定符和类型 | 方法和说明 |
---|---|
java.lang.Object |
assemble(java.io.Serializable cached,
java.lang.Object owner) |
java.lang.Object |
deepCopy(java.lang.Object o)
提供自定义类型的完全复制方法
本方法将用构造返回对象
当nullSafeGet方法调用之后,我们获得了自定义数据对象,在向用户返回自定义数据之前,
deepCopy方法将被调用,它将根据自定义数据对象构造一个完全拷贝,并将此拷贝返回给用户
此时我们就得到了自定义数据对象的两个版本,第一个是从数据库读出的原始版本,其二是我们通过
deepCopy方法构造的复制版本,原始的版本将有Hibernate维护,复制版由用户使用。
|
java.io.Serializable |
disassemble(java.lang.Object value) |
boolean |
equals(java.lang.Object o,
java.lang.Object o1) |
int |
hashCode(java.lang.Object o) |
boolean |
isMutable()
本类型实例是否可变
|
private java.util.Collection |
newCollection() |
java.lang.Object |
nullSafeGet(java.sql.ResultSet rs,
java.lang.String[] names,
org.hibernate.engine.spi.SessionImplementor session,
java.lang.Object owner)
从JDBC ResultSet读取数据,将其转换为自定义类型后返回
(此方法要求对克能出现null值进行处理)
names中包含了当前自定义类型的映射字段名称
|
void |
nullSafeSet(java.sql.PreparedStatement st,
java.lang.Object value,
int index,
org.hibernate.engine.spi.SessionImplementor session)
本方法将在Hibernate进行数据保存时被调用
我们可以通过PreparedStateme将自定义数据写入到对应的数据库表字段
|
java.lang.Object |
replace(java.lang.Object original,
java.lang.Object target,
java.lang.Object owner) |
java.lang.Class |
returnedClass() |
void |
setParameterValues(java.util.Properties parameters) |
int[] |
sqlTypes() |
private java.lang.String separator
private java.lang.Class elementType
private java.lang.Class collectionType
public void setParameterValues(java.util.Properties parameters)
setParameterValues
在接口中 org.hibernate.usertype.ParameterizedType
public int[] sqlTypes()
sqlTypes
在接口中 org.hibernate.usertype.UserType
public java.lang.Class returnedClass()
returnedClass
在接口中 org.hibernate.usertype.UserType
public boolean equals(java.lang.Object o, java.lang.Object o1) throws org.hibernate.HibernateException
equals
在接口中 org.hibernate.usertype.UserType
org.hibernate.HibernateException
public int hashCode(java.lang.Object o) throws org.hibernate.HibernateException
hashCode
在接口中 org.hibernate.usertype.UserType
org.hibernate.HibernateException
public java.lang.Object nullSafeGet(java.sql.ResultSet rs, java.lang.String[] names, org.hibernate.engine.spi.SessionImplementor session, java.lang.Object owner) throws org.hibernate.HibernateException, java.sql.SQLException
nullSafeGet
在接口中 org.hibernate.usertype.UserType
names
- owner
- org.hibernate.HibernateException
java.sql.SQLException
private java.util.Collection newCollection()
public void nullSafeSet(java.sql.PreparedStatement st, java.lang.Object value, int index, org.hibernate.engine.spi.SessionImplementor session) throws org.hibernate.HibernateException, java.sql.SQLException
nullSafeSet
在接口中 org.hibernate.usertype.UserType
org.hibernate.HibernateException
java.sql.SQLException
public java.lang.Object deepCopy(java.lang.Object o) throws org.hibernate.HibernateException
deepCopy
在接口中 org.hibernate.usertype.UserType
o
- org.hibernate.HibernateException
public boolean isMutable()
isMutable
在接口中 org.hibernate.usertype.UserType
public java.io.Serializable disassemble(java.lang.Object value) throws org.hibernate.HibernateException
disassemble
在接口中 org.hibernate.usertype.UserType
org.hibernate.HibernateException
public java.lang.Object assemble(java.io.Serializable cached, java.lang.Object owner) throws org.hibernate.HibernateException
assemble
在接口中 org.hibernate.usertype.UserType
org.hibernate.HibernateException
public java.lang.Object replace(java.lang.Object original, java.lang.Object target, java.lang.Object owner) throws org.hibernate.HibernateException
replace
在接口中 org.hibernate.usertype.UserType
org.hibernate.HibernateException