2

我正在使用 MOXy JAXB 实现并广泛使用 @XmlInverseReference 注释。但是,我最近遇到了这种方法似乎不起作用的情况。如果我有一个类包含一个属性与父类相同类型的字段,则应用 @XmlInverseReference 似乎完全抑制了该属性的编组。省略注释会产生可预测的 StackoverflowException。

有没有人遇到过这个问题并发现了 MOXy 的有效解决方案?

违规类的快速示例:

public class Person {

  private Long id;
  private Person spouse;

  public Long getId() {
    return id;
  }

  public void setId(Long id) {
    this.id = id;
  }

  @XmlInverseReference(mappedBy="spouse")
  public Person getSpouse() {
    return spouse;
  }

  public Person setSpouse(Person spouse) {
    this.spouse = spouse;
  }

}
4

1 回答 1

2

EclipseLink MOXy@XmlInverseReference可以在对象和属性属于同一类型时使用。这个用例的当前问题是需要为关系的两个方向使用相同的属性。

你看到了什么

当一个属性被注解时@XmlInverseReference,为了编组 MOXy 会将该属性视为存在@XmlTransient

高级请求

我已输入以下增强请求以支持此类行为。请添加您认为相关的任何其他详细信息。

有关更多信息@XmlInverseReference

于 2011-10-18T19:10:46.560 回答