Web services 我的第一个RESTful Web服务有问题

Web services 我的第一个RESTful Web服务有问题,web-services,rest,java-ee-6,Web Services,Rest,Java Ee 6,我正在用javaEE6开发我的firts RestFul Web服务。 这是我的实体Bean @XmlRootElement @Entity public class MyEntity implements Serializable { @Id @GeneratedValue private long idEntity; private String name; private String description; @OneToMany(mappedBy = "entity

我正在用javaEE6开发我的firts RestFul Web服务。 这是我的实体Bean

@XmlRootElement
@Entity
public class MyEntity implements Serializable {

 @Id
 @GeneratedValue
 private long idEntity;

 private String name;

 private String description;

 @OneToMany(mappedBy = "entity" , fetch = FetchType.EAGER)
 private List<EntityB>  list;

  //Get and set
}

 @Entity
 public class EntityB {

 @Id
 @GeneratedValue
 private long idCategoria;

 @ManyToOne
 private MyEntity myEntity;

  }
最后我穿上了球衣

@ApplicationPath("ws")
public class ApplicationConfig extends Application {

}
现在,如果我尝试调用我的web服务(localhost:8080/xxxx/ws/myentity),则会出现以下错误:


HTTP状态500-javax.xml.bind.MarshalException-带链接异常:[com.sun.istack.SAXException2:在对象图中检测到一个循环。这将导致无限深的xml

您有一个对象循环图,这是不允许的,因为它将导致“无限”xml

MyEntity持有对EntityB的引用,EntityB持有一个可追溯到MyEntity的引用

封送员将尝试封送MyEntity>EntityB>MyEntity>EntityB等

您可以将EntityB中的MyEntity标记为@XmlTransient,以避免这种情况

但是,尝试在所有项目中使用相同的对象类(从持久性层到通信层)可能不是一个好主意

@ApplicationPath("ws")
public class ApplicationConfig extends Application {

}