我目前正在编写一个工具以插入到使用 Hibernate 的现有企业应用程序中。我的工具在安装时需要将一些值写入数据库,其中一列是设置描述符对象的序列化版本。这个对象有两个对象列表和一些原始类型。
我目前的做法是创建一个ByteArrayOutputStream
和一个ObjectOutputStream
,然后将ObjectOutputStream
写入ByteArrayOutputStream
,然后使用 Spring 的 1SimpleJdbcTemplate1 将生成的字节数组传递到 sql 中。我目前使用这种方法的问题是,当企业工具提取我的行时,它无法使用以下内容反序列化该列:
org.springframework.orm.hibernate3.HibernateSystemException: could not deserialize; nested exception is org.hibernate.type.SerializationException: could not deserialize
我觉得我可能需要序列化内部对象,但不知道如何做到这一点并将所有内容放在一起。
最佳答案
最终解决了我自己的问题。在 hibernate API 中有一个名为 SerializationHelper 的类它有一个静态函数 serialize(Serializable obj)
,我可以用它来序列化我的对象,然后将它插入到数据库中。 Hibernate 随后能够在企业应用程序中读取它。
关于java - 如何将对象序列化到数据库以供 Hibernate 在 Java 中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5966039/