如何通过列表获得响应实体?

时间:2015-07-05 12:09:33

标签: json hibernate http java-ee

我有一个具有属性List<Node> nodeChild;的对象 当我回复时:    return new ResponseEntity<>(myObject, HttpStatus.OK); 在浏览器中,我获得了json的所有属性,但没有在myObject中列出nodeChild。

恩蒂:

@Entity
@javax.persistence.Table(name="node")
public class Node implements Serializable {

@Id
@GeneratedValue
@Column(name="id_node")
protected int id_node;
@ManyToOne
@JoinColumn(name="id_parent")
protected Node id_parent;

@Column(name="node_name")
protected String node_name;

@JsonBackReference
@OneToMany(fetch = FetchType.EAGER,mappedBy = "id_parent",cascade =     CascadeType.ALL)
protected List<Node> nodeChild;

这就是我得到的:

{"id_node":2,"id_parent":{"id_node":1,"id_parent":null,"node_name":null},"node_name":null}

在java中我在返回响应之前尝试... myObject.getNodeChild();我得到了清单。

1 个答案:

答案 0 :(得分:1)

您必须使用id_parent注释@JsonBackReference,并nodeChild添加@JsonManagedReference var Parse = require('Parse').Parse; Parse.initialize(...); Parse.Push.send({ channels: [], data: {parsekey: 'parseval'} }).then(function (result) { console.log(result); }); ,如here所述:

  

@JsonManagedReference是&#34;转发&#34;参考的一部分:一个   正常序列化,并处理触发反向链接   另一个参考。带注释的属性可以是bean,数组,   集合(List,Set)或Map类型,它必须是bean属性   (由使用BeanSerializer序列化的类型的属性处理。)

     

@JsonBackReference是&#34; back&#34;参考部分:将省略   从序列化,并在反序列化过程中重新构建   前向参考。带注释的属性必须是bean类型。