Json FetchType选项在运行时变为懒惰和急切的可能性
我有一个非常奇怪的情况要在春天处理,并使用更快的jackson返回Json。我已经用下面的方式定义了主对象结构Json FetchType选项在运行时变为懒惰和急切的可能性,json,angularjs,spring,spring-mvc,fasterxml,Json,Angularjs,Spring,Spring Mvc,Fasterxml,我有一个非常奇怪的情况要在春天处理,并使用更快的jackson返回Json。我已经用下面的方式定义了主对象结构 class Obj1 { @OneToMany(fetch = FetchType.LAZY, mappedBy = "field1") List<Obj2> objs2; //Getter and Setter methods } 根据spring的概念,很明显,当速度越快的jackson尝试按照我的要求延迟检索数据时,该特定时间的会话工厂不存在,因此它会抛出这种
class Obj1
{
@OneToMany(fetch = FetchType.LAZY, mappedBy = "field1")
List<Obj2> objs2;
//Getter and Setter methods
}
根据spring的概念,很明显,当速度越快的jackson尝试按照我的要求延迟检索数据时,该特定时间的会话工厂不存在,因此它会抛出这种异常,因为无法延迟初始化角色集合
为了避免这个问题,很明显,通过将fetchType设置为EAGER。但这不是我想要的
将其设置为“急切”会触发一个额外的查询,在少数情况下,这可能是不必要的。是的,我只在少数情况下需要Object2类型的列表。您现在可能正在考虑JsonView。是的,这可以工作,但不会停止查询影响我的应用程序的后端
因此,我正在寻找一种解决方案,它仍然保持懒惰,并尝试动态地获取数据,而不会造成此问题。我坚信spring一定会有这样的能力,并且会有一个替代方案来处理这种情况 主席先生,事实上,我也怀疑懒惰回迁的处理方式,它基本上是如何运作的,如果你能举出一个例子,你会很好的。一个很好的例子在这里的网站上给出,
nested exception is com.fasterxml.jackson.databind.JsonMappingException: failed to lazily initialize a collection of role