在数据库中存储可序列化对象

Mah*_*pta 6 java database serialization

我正在编写一个需要将对象写入数据库的应用程序.

为简单起见,我想序列化对象.

但是出于同样目的所需的ObjectOuputStream只有一个构造函数,它将OutputStream的任何子类作为参数.

应该传递什么参数?

Boz*_*zho 8

您可以传递a ByteArrayOutputStream然后将结果存储stream.toByteArray()在数据库中作为blob.

确保serialVersionUID为类指定了一个,否则在添加/删除字段时会遇到困难.

还要考虑用于对象序列化的xml版本 - XMLEncoder如果您需要更多人类可读的数据.

最后,您可能希望通过ORM框架将对象模型转换为关系模型.JPA(Hibernate/EclipseLink/OpenJPA)提供对象关系映射,以便您使用对象,但它们的字段和关系将保留在RDBMS中.