序列化到json响应时避免hibernate延迟初始化exception的更好方法
这是参考我一个月前提出的问题 。
在这个问题中 ,当json序列化时避免延迟初始化exception的答案是将null设置为导致延迟初始化exception的变量。 但是考虑一下这个类有多少依赖关系。 现在随着代码库的增长而每次我都要将代码中的麻烦变量设置为null以避免json序列化问题。 当代码库很大时,该方法看起来不整洁。
下面显示的示例代码看起来不太好。
//setting some variables to avoid lazy init exception in jackson mapper serialization batch.setEnrollmentList(null); List scheduleList = (ArrayList) 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);
你能否告诉我一个更好的方法来处理这个问题。 谢谢。
您可以使用@JsonIgnore
注释惰性属性,以便Jackson在序列化时忽略它。
- JPA Query.getResultList() – 以通用方式使用
- Discriminator,WrongClassException JPA和Hibernate后端
- @JoinFormula和@OneToMany定义 – 糟糕的文档
- Hibernate 4未设置’hibernate.dialect’时,对DialectResolutionInfo的访问不能为空
- 与共享主键的OneToOne关系生成n + 1个选择; 任何解决方法?
- OSGi Fragment包含Hibernate,具有Runtime pojos
- Oracle遗留表没有很好的PK:如何hibernate?
- Hibernate Dialects + datediff函数
- 从数据库加载26MB文本数据消耗了258MB的JVM堆