下面列出了怎么用org.hibernate.internal.util.SerializationHelper的API类实例代码及写法,或者点击链接到github查看源代码。
private static void writeSerFile(Serializable binding, File xmlFile, File serFile) {
try {
log.debugf( "Writing cache file for: %s to: %s", xmlFile.getAbsolutePath(), serFile.getAbsolutePath() );
SerializationHelper.serialize( binding, new FileOutputStream( serFile ) );
boolean success = serFile.setLastModified( System.currentTimeMillis() );
if ( !success ) {
log.warn( "Could not update cacheable hbm.xml bin file timestamp" );
}
}
catch ( Exception e ) {
log.unableToWriteCachedFile( serFile.getAbsolutePath(), e.getMessage() );
}
}
private <T> T readSerFile() throws SerializationException, FileNotFoundException {
log.readingCachedMappings( serFile );
return SerializationHelper.deserialize( new FileInputStream( serFile ) );
}
@Override
@SuppressWarnings({ "unchecked" })
public S deepCopyNotNull(S value) {
return (S) SerializationHelper.clone( value );
}
protected byte[] toBytes(T value) {
return SerializationHelper.serialize( value );
}
@SuppressWarnings({ "unchecked" })
protected T fromBytes(byte[] bytes) {
return (T) SerializationHelper.deserialize( bytes, getJavaType().getClassLoader() );
}
/** Performs deep copy of an object using serialization and de-serialization*/
@Override
public Object deepCopy(Object value) throws HibernateException {
return SerializationHelper.clone((Serializable) value);
}