我想知道Jackson中@JsonManagedReference
和@JsonBackReference
之间的区别?
我更喜欢@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class,property=“id”,scope=Long.class)
其中property是主键字段的名称,scope是它的类型
用例:您的实体/表中有一个一对多或多对多的关系,不使用上述关系将导致如下错误
Infinite Recursion and hence stackoverflow - > Could not write content: Infinite recursion (StackOverflowError)
发生上述错误的原因是Jackson(或其他类似的人)试图序列化关系的两端,并以递归结束。
@JsonIgnore执行类似的函数,但上面提到的注释更可取。
@JsonManagedReference是引用的前向部分——通常被序列化的部分@JsonBackReference是引用的后面部分–它将从序列化中省略。
所以他们真的取决于你们关系的方向
public class User {
public int id;
public String name;
@JsonBackReference
public List<Item> userItems;
}
public class Item {
public int id;
public String itemName;
@JsonManagedReference
public User owner;
}
问题内容: 我想知道的区别,并在杰克逊? 问题答案: @JsonManagedReference是引用的前一部分-可以正常序列化的部分。@JsonBackReference是参考的后半部分–序列化将忽略它。 所以他们真的取决于你的关系方向
我知道和,都是用来解决的,这两个有什么区别? 注意:这些是杰克逊的注释。
问题内容: 我试图根据我从关联存储库引用的实体,找到一种交换@JsonBackRefence和@JsonManagedReference的方法。 Site.java Building.java SiteRepository.java BuildingRepository.java 但是,当调用findById(buildingId)时,我想交换@JsonBackReference。因此,@ Jso
在C语言中,假设每个算法被赋予完全相同的一组进程,那么先到先得、最短作业优先和循环之间的周转时间是否相等?还是调度算法不同?
问题内容: 为了为 HTML5 Doctype 定义字符集,我应该使用哪种表示法? 短: 长: 问题答案: 在HTML5中,它们是等效的。使用较短的一个,更容易记住和键入。浏览器支持很好,因为它是为向后兼容而设计的。
连接的多个输入都相当于Yes的时候才会输出Yes。 用法 Your browser does not support the video tag. 案例:小闹钟 功能:今天15:10:00,响起猫叫声小闹钟 工作原理 当所有的输入都是Yes的时候,与节点才输出Yes。