entity:
@Column(name= "JOB_DATA")
@Type(type="org.springframework.orm.hibernate3.support.BlobByteArrayType")private byte[] jobData;
save:
List jobs =CollectUtils.newArrayList();if(StringUtils.isNotEmpty(deviceIds)) {
jobs=acmsInternetgatewaydeviceService.getAcmsInternetgatewaydevicesByDeviceIds(StrUtils.splitToLong(deviceIds));
}
Map jobNes = new HashMap();
jobNes.put(JobUtils.NE_KEY, jobs);
entity.setJobData(Bytes.objct2Bytes(jobNes));
get:
List selectNes = null;if(jobData!=null)
selectNes= (List) ((Map)Bytes.bytes2Objct(jobData)).get(JobUtils.NE_KEY);
JobUtils:public classJobUtils {public static final String QUARTS_SCHEDULER_KEY = "quartzScheduler";public static final String NE_KEY = "JOB_NES";
}
Bytes:packagecom.gloryscience.util;importjava.io.ByteArrayInputStream;importjava.io.ByteArrayOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.io.ObjectInputStream;importjava.io.ObjectOutputStream;importjava.sql.Blob;importjava.sql.SQLException;public classBytes {/*** 由于String.subString对汉字处理存在问题(把一个汉字视为一个字节),因此在 包含汉字的字符串时存在隐患,现调整如下:
*
*@paramsrc 要截取的字符串
*@paramstart_idx 开始坐标(包括该坐标)
*@paramend_idx 截止坐标(包括该坐标)
*@return
*/
public static String substring(String src, int start_idx, intend_idx) {byte[] b =src.getBytes();
String tgt= "";for (int i = start_idx; i <= end_idx; i++) {
tgt+= (char) b[i];
}returntgt;
}public static byte[] objct2Bytes(java.lang.Object obj) {if(obj == null){return null;
}else{
ByteArrayOutputStream byteArrayOutputStream= newByteArrayOutputStream();try{
ObjectOutputStream ops= newObjectOutputStream(
byteArrayOutputStream);
ops.writeObject(obj);byte[] byteA =byteArrayOutputStream.toByteArray();returnbyteA;
}catch(Exception e) {//TODO: handle exception
e.printStackTrace();
}
}return null;
}public static java.lang.Object bytes2Objct(byte[] byteA) {
InputStream in= newByteArrayInputStream(byteA);
ObjectInputStream ois= null;try{
ois= newObjectInputStream(in);
}catch(IOException e) {
e.printStackTrace();
}try{returnois.readObject();
}catch(IOException e) {
e.printStackTrace();
}catch(ClassNotFoundException e) {
e.printStackTrace();
}return null;
}public staticjava.lang.Object blobToObjct(Blob blob) {
ObjectInputStream ois= null;try{
InputStream in=blob.getBinaryStream();
ois= newObjectInputStream(in);returnois.readObject();
}catch(IOException e) {
e.printStackTrace();
}catch(ClassNotFoundException e) {
e.printStackTrace();
}catch(SQLException e) {
e.printStackTrace();
}return null;
}
}