Java 将@manytone实体提取为多个返回字符串表示,为什么?
我在SpringDataJPA应用程序中发现了一个奇怪的问题。我不知道为什么,但当我获取具有@manytone实体的记录时,它只在响应中返回其实例一次,随后只返回字符串表示。以下分别是实体和响应: 实体 以下是获取调查时的JSON响应 然后:Java 将@manytone实体提取为多个返回字符串表示,为什么?,java,spring,hibernate,spring-data-jpa,Java,Spring,Hibernate,Spring Data Jpa,我在SpringDataJPA应用程序中发现了一个奇怪的问题。我不知道为什么,但当我获取具有@manytone实体的记录时,它只在响应中返回其实例一次,随后只返回字符串表示。以下分别是实体和响应: 实体 以下是获取调查时的JSON响应 然后: "surveyType": "SF", 如果调查响应中有多个surveyType实例。为什么在第一次尝试后它会将其表示为字符串而不是对象?我猜这是使用@JsonIdentityInfo的结果 通过使用该注释,您告诉它响应应该包括一个完全序列化
"surveyType": "SF",
如果调查响应中有多个surveyType实例。为什么在第一次尝试后它会将其表示为字符串而不是对象?我猜这是使用@JsonIdentityInfo的结果
通过使用该注释,您告诉它响应应该包括一个完全序列化的实例,然后返回引用该完全序列化实例的ID。Oh yes。。这是根本原因。在添加generator=ObjectedGenerators.None.class之后,它解决了我的问题
"surveyType": {
"name": "SF",
"description": "Some description here"
},
"surveyType": "SF",