有没有办法避免杰克逊序列化未获取的懒惰属性

时间:2014-09-26 15:22:15

标签: java spring hibernate jackson lazy-loading

我整天都在搜索这个主题,并检查了几乎所有提交的有关它的问题。

这是我的问题:我认为让杰克逊尊重hibernate中定义的惰性属性是一项简单的任务。但正如我所注意到的,似乎没有解决这个问题的方法,我认为几乎所有开发了一个宁静的java spring应用程序并依赖于服务器的Json响应的人都会遇到这个问题。 Json响应包含序列化对象,大多数情况下不应包含其他相关对象(总是由Jackson提取,这导致不需要sql查询和额外的不必要的加载时间)。

即使是jackson数据类型hibernate库也只提供了一个解决方案,以防止在Jackson尝试序列化延迟未加载属性时抛出序列化异常,而不实际将序列化限制为仅获取的属性。此外,使用JsonIgnore注释并不能解决问题,因为它会阻止Jackson甚至永久地序列化获取/渴望的属性。

有人知道这个问题的解决方案吗?如果不是,我只想知道通常使用什么方法让服务器以json格式响应相同的加载对象而不改变其他任何东西?

编辑:

很抱歉没有提供实际代码,我的情况完全符合jackson - do not serialize lazy objects中的问题。由于该问题没有解决方案,我强调该问题以确定是否有解决方案,或者除了使用Jackson作为JSON格式的响应发送到对象之外,在这种情况下使用的方法是什么。

由于

1 个答案:

答案 0 :(得分:1)

刚刚回答了您关联的其他问题,因为它比您的年龄大。

此处可以看到回复:jackson - do not serialize lazy objects

请将此标记为dupe并关闭。