当前位置: 首页 > 知识库问答 >
问题:

名为“default reference”的多个反向引用属性

史弘致
2023-03-14

我在一个类中有多个反向引用类。由于我对它们使用了@jsonBackReference,所以我得到了一个错误。我为这些类分配了@JSONIdentityInfo注释,但仍然得到相同的错误。

public class X implements Serializable {
  ....
  //bi-directional many-to-one association to Booking
  @ManyToOne(fetch = FetchType.EAGER)
  @JoinColumn(name = "xxA", nullable = false)
  @JsonBackReference
  private A a;

  //bi-directional many-to-one association to Client
  @ManyToOne(fetch = FetchType.EAGER)
  @JoinColumn(name = "xxB", nullable = false)
  @JsonBackReference
  private B b;
  ...getters setters
}

@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "@id")
public class B implements Serializable {
  ........ 
  //bi-directional many-to-one association to BookedClient
  @OneToMany(mappedBy = "b", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
  @JsonManagedReference
  private List < X > xxB;
  ........ getters setters
}


@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "@id")
public class A implements Serializable {
  ........
  //bi-directional many-to-one association to BookedClient
  @OneToMany(mappedBy = "a", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
  @JsonManagedReference
  private List < X > xxA;
  ........ getters setters
}

错误:

共有1个答案

闻人嘉颖
2023-03-14

根据Jackson的javadoc,@JSONManagedReference@JSONBackReference都接受一个将它们绑定在一起的名称值:

  @JsonBackReference("a")
  private A a;

  @JsonManagedReference("a")
  private List < X > xxA;
 类似资料:
  • 我试图使用Jackson 1.9将嵌套的JSON对象反序列化到POJO中,但遇到了麻烦。下面是我试图解析的类和示例JSON字符串。 (省略了getter和setter) JSON字符串: Java类: 但是,当我尝试执行反序列化时: 我收到以下异常消息: JAVAlang.IllegalArgumentException:名为“defaultReference”的多个反向引用属性 我读到提供(va

  • 当我试图将一个实体映射到多个实体时,我得到了这个错误。 ///这是我的候选人配置文件实体////////// ///这是我的体验详情实体////////////// ///这是我的角色实体////// 我得到的这个错误----------- 请帮帮我。我到处搜索,我尝试了每一个解决方案,但我也得到了这个错误。

  • 我试图将一个json(字符串格式)映射到一个对象,但我得到以下错误 JSONMappingException:多个名为“default reference”的反向引用属性 这是json字符串 我不知道这个错误,我做了完全相同的方式,我读杰克逊的主页。知道这件事的人请帮帮我

  • 问题内容: 我试图使用Spring Boot / Spring RestController后端从AngularJS前端发布到http:// localhost:9095 / translators 。 我可以执行GET,响应如下: 当我发布下面的json时,我得到了 错误 响应 发布数据: 错误: 我确保我的控制器具有正确的Mediatype批注。 经过一些研究并通过查看日志输出,我意识到这是一

  • 问题内容: 我正在针对返回JSON数据的第三方API进行编程,但是格式可能有点奇怪。某些属性可以是一个对象(包含一个Id属性),也可以是一个字符串(它是该对象的ID)。例如,以下两个都是有效的: 和 我正在尝试使用JSON.net将其反序列化为强类型类,但到目前为止运气还不足。我最好的主意是将其序列化为两个属性,一个为字符串,另一个为对象,并为每个属性使用自定义JsonConverter以允许变量

  • 在这里测试一下。 然而,我想匹配一对字符后的字符,所以我想我可以简单地把它放在后面: 不幸的是,这与任何东西都不匹配。