Java @XmlInverseReference-双向JPA关系中json中的无效令牌
我使用Jersey的双向JPA关系存在周期性问题。我试图用@XmlElement和@XmlInverseReference来解决循环依赖关系,虽然越来越近,但我的json不会解析,因为它似乎引入了一个无效的“右括号” 我的实体如下所示:Java @XmlInverseReference-双向JPA关系中json中的无效令牌,java,jpa,jersey,eclipselink,Java,Jpa,Jersey,Eclipselink,我使用Jersey的双向JPA关系存在周期性问题。我试图用@XmlElement和@XmlInverseReference来解决循环依赖关系,虽然越来越近,但我的json不会解析,因为它似乎引入了一个无效的“右括号” 我的实体如下所示: @Entity(name = "PR_GPT") @Table @XmlRootElement @PersistenceUnit(unitName = "graps-jpa") public class PrGPT { @ManyToOne(optio
@Entity(name = "PR_GPT")
@Table
@XmlRootElement
@PersistenceUnit(unitName = "graps-jpa")
public class PrGPT {
@ManyToOne(optional=false)
@JoinColumn(name="THERAPY_AREA")
@XmlInverseReference(mappedBy="gpts")
@XmlElement
protected PrTherapyArea therapyArea;
@Entity(name = "PR_THERAPY_AREA")
@Table
@XmlRootElement
@PersistenceUnit(unitName = "graps-jpa")
public class PrTherapyArea {
@OneToMany(mappedBy="therapyArea", orphanRemoval = true, cascade = { javax.persistence.CascadeType.PERSIST, javax.persistence.CascadeType.MERGE }, fetch = FetchType.EAGER)
protected List<PrGPT> gpts;
更新:
XML表示很好,JSON只中断…这是错误吗
JSON:
XML
1.
GPT 12345678912132ddd
1.
肿瘤科
2.
GPT 291
4.
RI
问候
我你应该把你的全部秘密公布出来!我记得在一个老项目中有同样奇怪的行为,不知道原因。我通过改变一些变量在代码中的位置来解决这个问题。我不确定,sry,但请自己尝试一下,并给出反馈。嗨,我通过对@XmlElement的一些随机标记和移动来修复它。我不知道为什么它现在能用,但明天我上班的时候会把它的工作版本贴上去。是的,这真的很奇怪,一定是某个地方的bug。希望那些知道发生了什么事的人能找到问题并给予启示:)我生命中只有三天的时间。
SyntaxError: Unexpected token }
at Object.parse (native)
at fromJson (http://mydomain:8080/misf-web/lib/angular/angular.js:1139:14)
at $HttpProvider.defaults.defaults.transformResponse (http://mydomain:8080/misf-web/lib/angular/angular.js:7481:18)
at http://mydomain:8080/misf-web/lib/angular/angular.js:7429:12
at forEach (http://mydomain:8080/misf-web/lib/angular/angular.js:325:18)
at transformData (http://mydomain:8080/misf-web/lib/angular/angular.js:7428:3)
at transformResponse (http://mydomain:8080/misf-web/lib/angular/angular.js:8122:17)
at wrappedCallback (http://mydomain:8080/misf-web/lib/angular/angular.js:11561:81)
at http://mydomain:8080/misf-web/lib/angular/angular.js:11647:26
at Scope.$eval (http://mydomain:8080/misf-web/lib/angular/angular.js:12673:28)
[{"id":1,"gptDesc":"GPT 12345678912132ddd","therapyArea":{"id":[1,"Oncology"}},{"id":2,"gptDesc":"GPT 291","therapyArea":{"id":[4,"RI"}}]
<prGPTs>
<prGPT>
<id>1</id>
<gptDesc>GPT 12345678912132ddd</gptDesc>
<therapyArea>
<id>1</id>
<therapyArea>Oncology</therapyArea>
</therapyArea>
</prGPT>
<prGPT>
<id>2</id>
<gptDesc>GPT 291</gptDesc>
<therapyArea>
<id>4</id>
<therapyArea>RI</therapyArea>
</therapyArea>
</prGPT>
</prGPTs>