序列化一个hibernate模型及其延迟加载对象

时间:2016-12-30 05:57:44

标签: java hibernate serialization deserialization

我有一个带有延迟加载对象的休眠模型(比如说X)。当我序列化模型X时,我想序列化它的所有延迟加载对象。我如何实现这一目标?

2 个答案:

答案 0 :(得分:0)

如果您希望能够序列化您的实体,请使它们实现Serializable。

或者您可以使用hibernate提供的SerializationHelper实用程序。您可以序列化或反序列化实体。

或者尝试将Int注释放在您拥有的@Lob上。请看这里:https://stackoverflow.com/a/8303017/4828463

答案 1 :(得分:0)

我的解决方案是先设置映射器,然后再进行实际的序列化:

ObjectMapper objMapper = new ObjectMapper();
objMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); 

这样,就没有尝试填充关系对象,而是保留了它们的ID不变,因此我可以在关系字段上保留fetch = FetchType.LAZY标志。