4

这是参考我一个月前提出的一个问题

在这个问题中,避免json序列化时出现惰性初始化异常的答案是将导致惰性初始化异常的变量设置为null。但是考虑一下当类有很多依赖时。现在随着代码库的增长,每次我都必须将 null 设置为代码中任何地方的麻烦变量,以避免 json 序列化问题。当代码库很大时,该方法看起来不整洁。

下面显示的示例代码看起来不太好。

//setting some variables to avoid lazy init exception in jackson mapper serialization
batch.setEnrollmentList(null);
List<BatchSchedule> scheduleList = (ArrayList<BatchSchedule>) batch.getBatchScheduleList();

            for (BatchSchedule batchSchedule : scheduleList) {
                batchSchedule.setBatch(null);
            }
            batch.getLecturer().setBatchList(null);
            batch.getLecturer().setSubjectList(null);
            batch.getSubject().setBatchList(null);
            batch.getSubject().setLecturerList(null);

你能否建议我一个更好的方法来处理这个问题。谢谢。

4

1 回答 1

3

您可以注释惰性属性,@JsonIgnore以便杰克逊在序列化时忽略它。

于 2012-12-08T15:53:43.033 回答