Pessoal, preciso gravar um objeto serializado numa coluna de uma tabela no banco Oracle… porém nao faço nem ideia de como fazer… qual melhor tipo de dado pra setar na coluna da tabela?
Vi um exemplo em que é setado na tabela do oracle uma coluna como BLOB, e o codigo java da um setBlob no PreparedStatement, porem executei esse exemplo aki e ele da uma exceção:
Exception occurred during event dispatching:
java.lang.AbstractMethodError: oracle.jdbc.driver.T2CPreparedStatement.setBlob(ILjava/io/InputStream;)V
Não recomendaria serializar objetos em arquivos, quanto mais em colunas de bancos de dados, porque isso deixa seus objetos muito “amarrados”. Você não pode modificar a declaração dos objetos serializados, e se bobear nem pode mudar a versão da JVM que você está usando. Esse tipo de problema é comum com o JasperReports, que trabalha com relatórios que são objetos serializados em arquivos.
De qualquer maneira, use um BLOB mesmo.
A
andre2k2
Mas como eu codifico no java? como eu faço essa gravação?
Já li milhoes de tutorias e todos falam pra fazer do jeito q eu ja to fazendo.... :(
D
Dieval_Guizelini
Se você precisa realmente quer salvar o “estado” do objeto, mas não o objeto em si, você poderia utilizar o XStream e gerar o xml a partir do objeto e vice-versa.