序列化到json响应时避免hibernate延迟初始化异常的更好方法

时间:2012-12-08 15:39:17

标签: java json spring hibernate

这是参考to a question I asked a month back

In this question在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);

请您建议我更好的方法来解决这个问题。 感谢。

1 个答案:

答案 0 :(得分:3)

您可以使用@JsonIgnore注释延迟属性,以便Jackson在序列化时忽略它。