hibernate无限递归问题
2017-09-12 15:24
155 查看
使用jackson中的@JsonBackReference和@JsonManagedReference,以及@JsonIgnore
jackson中的@JsonBackReference和@JsonManagedReference,以及@JsonIgnore均是为了解决对象中存在双向引用导致的无限递归(infinite recursion)问题。这些标注均可用在属性或对应的get、set方法中。
@JsonBackReference和@JsonManagedReference:这两个标注通常配对使用,通常用在父子关系中。
@JsonBackReference标注的属性在序列化(serialization,即将对象转换为json数据)时,会被忽略(即结果中的json数据不包含该属性的内容)。@JsonManagedReference标注的属性则会被序列化。
在序列化时,@JsonBackReference的作用相当于@JsonIgnore,此时可以没有@JsonManagedReference。但在反序列化(deserialization,即json数据转换为对象)时,如果没有@JsonManagedReference,则不会自动注入@JsonBackReference标注的属性(被忽略的父或子);如果有@JsonManagedReference,则会自动注入自动注入@JsonBackReference标注的属性。
@JsonIgnore:直接忽略某个属性,以断开无限递归,序列化或反序列化均忽略。当然如果标注在get、set方法中,则可以分开控制,序列化对应的是get方法,反序列化对应的是set方法。在父子关系中,当反序列化时,@JsonIgnore不会自动注入被忽略的属性值(父或子),这是它跟@JsonBackReference和@JsonManagedReference最大的区别。
原文:http://blog.csdn.net/qq_35357001/article/details/55505659
jackson中的@JsonBackReference和@JsonManagedReference,以及@JsonIgnore均是为了解决对象中存在双向引用导致的无限递归(infinite recursion)问题。这些标注均可用在属性或对应的get、set方法中。
@JsonBackReference和@JsonManagedReference:这两个标注通常配对使用,通常用在父子关系中。
@JsonBackReference标注的属性在序列化(serialization,即将对象转换为json数据)时,会被忽略(即结果中的json数据不包含该属性的内容)。@JsonManagedReference标注的属性则会被序列化。
在序列化时,@JsonBackReference的作用相当于@JsonIgnore,此时可以没有@JsonManagedReference。但在反序列化(deserialization,即json数据转换为对象)时,如果没有@JsonManagedReference,则不会自动注入@JsonBackReference标注的属性(被忽略的父或子);如果有@JsonManagedReference,则会自动注入自动注入@JsonBackReference标注的属性。
@JsonIgnore:直接忽略某个属性,以断开无限递归,序列化或反序列化均忽略。当然如果标注在get、set方法中,则可以分开控制,序列化对应的是get方法,反序列化对应的是set方法。在父子关系中,当反序列化时,@JsonIgnore不会自动注入被忽略的属性值(父或子),这是它跟@JsonBackReference和@JsonManagedReference最大的区别。
原文:http://blog.csdn.net/qq_35357001/article/details/55505659
相关文章推荐
- jackson java转json hibernate懒加载造成的无限递归问题
- jackson java转json hibernate 造成的堆栈溢出 无限递归问题
- 省市区级联选择时,jackson 序列化这个对象出现无限递归的问题
- python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
- 解决spring mvc +hibernate整合时使用jackson返回json数据无限循环问题的官方解决方案
- @JsonIgnoreProperties解决jackson 序列化Hibernate entity类无限递归的问题
- Java-互相关联的实体无限递归问题
- 解决jackson 序列化这个对象出现无限递归的问题
- python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
- 使用Hibernate要从以下几个方面入手解决性能问题.
- Hibernate问题-read-write缓存策略
- (转)hibernate 注解的问题(异常)集合
- Hibernate注解映射sequence时出现无序增长问题+hibernate 映射 oracle ID自动增长
- 递归分治策略——Java之棋盘覆盖问题解决
- 递归实现无限级栏目下拉选项
- 字符串的全排列和组合递归非递归--排列组合扩展问题
- Hibernate 遇到的问题(1)
- Hibernate中常见问题 No row with the given identifier exists问题的原因及解决
- Hibernate执行原生sql,list转换问题
- 在版本问题上解决 org.hibernate.MappingException: Unknown entit xxx