Armazenando instâncias de objetos Java em banco.
Esse código abaixo eu crei recentemente para auxiliar no armazenamento de instâncias de objetos no banco de dados em um simples campo que guarde textos grandes:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | public String serializeObject(Object object) { try { ByteArrayOutputStream bs = new ByteArrayOutputStream(); ObjectOutputStream os = new ObjectOutputStream(bs); os.writeObject(object); return new String(Base64. encodeBase64(bs.toByteArray())); } catch(Exception error) { throw new ResourceException("Couldn't serialize object!"); } } public Object deserializeObject(String data) { try { ByteArrayInputStream bs = new ByteArrayInputStream(Base64 .decodeBase64(data.getBytes())); ObjectInputStream os = new ObjectInputStream(bs); return os.readObject(); } catch(Exception error) { throw new ResourceException("Couldn't deserialize object!"); } } |
Estava esquecendo! Esse código requer Apache Commons Codec.