【发布时间】:2016-12-30 05:57:43
【问题描述】:
我有一个休眠模型(比如 X),其中包含延迟加载对象。当我序列化模型 X 时,我想序列化它的所有延迟加载对象。我如何做到这一点?
【问题讨论】:
标签: java hibernate serialization deserialization
我有一个休眠模型(比如 X),其中包含延迟加载对象。当我序列化模型 X 时,我想序列化它的所有延迟加载对象。我如何做到这一点?
【问题讨论】:
标签: java hibernate serialization deserialization
如果您希望能够序列化您的实体,请让它们实现 Serializable。
或者您可以使用 hibernate 提供的SerializationHelper 实用程序。您可以序列化或反序列化实体。
或者尝试将@Lob 注释放在您拥有的Set 上。看这里:https://stackoverflow.com/a/8303017/4828463
【讨论】:
我的解决方案是在进行实际序列化之前设置映射器:
ObjectMapper objMapper = new ObjectMapper();
objMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
这样,没有尝试填充关系对象,而是保持它们的 ID 不变,因此我可以在我的关系字段中保留 fetch = FetchType.LAZY 标志。
【讨论】: