- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我试图将一个实体映射到多个实体时,出现此错误..
///这是我的候选人资料实体/////////
package com.demo.project.premiumjobportal.model; import java.io.Serializable; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.validation.constraints.NotNull; import javax.xml.bind.annotation.XmlRootElement; import com.fasterxml.jackson.annotation.JsonBackReference; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; //Candidate details table : Master Table @Entity @Table(name="candidate_profile") @JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) @XmlRootElement public class CandidateProfile implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue private int id; @NotNull @Column(name="first_name", length = 25) private String firstName; @NotNull @Column(name="last_name", length = 25) private String lastName; @NotNull @Column(name="username", length = 50) private String username; @Column(name="alt_email_id", length = 50) private String alternateEmailId; @NotNull @Column(name="mobile_no", length = 15) private String mobileNum; @Column(name="alt_mobile_no", length = 15) private String alternateMobileNum; @Column(name="ssc_board", length = 50) private String sscBoard; @Column(name="ssc_school", length = 50) private String sscSchool; @Column(name="ssc_percent", length = 4) private float sscPercentage; @Column(name="ssc_year_of_passout", length = 4) private int sscYearOfPassout; @Column(name="hsc_board", length = 50) private String hscBoard; @Column(name="hsc_school", length = 50) private String hscSchool; @Column(name="hsc_percent", length = 4) private float hscPercentage; @Column(name="hsc_year_of_passout", length = 4) private int hscYearOfPassout; @Column(name="grad_university", length = 100) private String gradiduteUniversity; @Column(name="grad_institute", length = 100) private String gradiduteInstitute; @Column(name="grad_percent", length = 4) private float gradidutePercentage; @Column(name="grad_year_of_passout", length = 4) private int gradiduteYearOfPassout; @Column(name="postgrad_university", length = 100) private String postGradiduteUniversity; @Column(name="postgrad_institute", length = 100) private String postGradiduteInstitute; @Column(name="postgrad_percent", length = 4) private float postGradidutePercentage; @Column(name="postgrad_year_of_passout", length = 4) private int postGradiduteYearOfPassout; private String notes; private String Password; @OneToMany(mappedBy = "candidateProfile", fetch = FetchType.LAZY,cascade = CascadeType.REMOVE) @JsonBackReference private List experienceDetails; @OneToMany(mappedBy = "candidateProfile", fetch = FetchType.LAZY,cascade = CascadeType.REMOVE) @JsonBackReference private List candidateJobs; @ManyToOne private Role roleName; /* Constructor */ public CandidateProfile() { super(); } // Getters and Setters
/// This is my experience details entity ////////////
package com.cfa.project.premiumjobportal.model; import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.Table; import javax.xml.bind.annotation.XmlRootElement; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; //Experience class, which connected with CandidateProfile.class @Entity @Table(name="experience_details") @JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) @XmlRootElement public class ExperienceDetails implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue private int id; @Column(name = "tot_experenice", length = 2) private String totExperience; @Column(name = "companies_month_experience") private String companiesMonthExperience; @Column(name = "skills") private String _skills; @Column(name = "extra_curricular") private String extraCurricular; private String notes; /* Mapping : Joining with Candidate table */ @ManyToOne private CandidateProfile candidateProfile; /*Constructor*/ public ExperienceDetails() { super(); } /*Constructor using fields*/ /** * @param id * @param totExperience * @param companiesMonthExperience * @param _skills * @param extraCurricular * @param notes * @param candidateProfile */ public ExperienceDetails(int id, String totExperience, String companiesMonthExperience, String _skills, String extraCurricular, String notes, CandidateProfile candidateProfile) { super(); this.id = id; this.totExperience = totExperience; this.companiesMonthExperience = companiesMonthExperience; this._skills = _skills; this.extraCurricular = extraCurricular; this.notes = notes; this.candidateProfile = candidateProfile; } /* Generating Getters and setters */
/// This is my role entity //////
import java.io.Serializable; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.xml.bind.annotation.XmlRootElement; import com.fasterxml.jackson.annotation.JsonBackReference; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @Entity @Table(name="role") @JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) @XmlRootElement public class Role implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue private int id; @Column(length = 10) private String name; @OneToMany(mappedBy = "roleName", fetch = FetchType.LAZY,cascade = CascadeType.REMOVE) @JsonBackReference private List candidateProfiles; @OneToMany(mappedBy = "companyRoleName", fetch = FetchType.LAZY,cascade = CascadeType.REMOVE) @JsonBackReference private List recruiterDetails;
This error I'm getting----------------
Failed to evaluate Jackson deserialization for type [[simple type, class
com.demo.project.premiumjobportal.model.CandidateProfile]]:
com.fasterxml.jackson.databind.JsonMappingException: Multiple back-reference
properties with name 'defaultReference'
请帮我解决这个问题。我到处搜索并尝试了所有解决方案,但后来我也遇到了这个错误。
最佳答案
如果您在项目中的 getter/setter 方法中多次使用 @JsonBackReference
,您应该使用特定的 Reference 名称来区分它们。
在Role
实体类中,你使用了两次@JsonBackReference
:
@OneToMany(mappedBy = "roleName", fetch = FetchType.LAZY,cascade = CascadeType.REMOVE)
@JsonBackReference
private List candidateProfiles;
@OneToMany(mappedBy = "companyRoleName", fetch = FetchType.LAZY,cascade = CascadeType.REMOVE)
@JsonBackReference
private List recruiterDetails;
你应该把它改成:
@OneToMany(mappedBy = "roleName", fetch = FetchType.LAZY,cascade = CascadeType.REMOVE)
@JsonBackReference(value="candidate-profiles")
private List candidateProfiles;
@OneToMany(mappedBy = "companyRoleName", fetch = FetchType.LAZY,cascade = CascadeType.REMOVE)
@JsonBackReference(value="recruiter-details")
private List recruiterDetails;
关于java - com.fasterxml.jackson.databind.JsonMappingException : Multiple back-reference properties with name 'defaultReference' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43973041/
我以为我有一个父类参数,它有2个子类 ComboParameter 和 IntegerParameter @JsonSubTypes({ @JsonSubTypes.Type(value =
运行以下行时: Request> requestMap = JsonUtils.fromJson(eventContext.getMessage().getPayloadAsString(), Req
我已经使用 jersey 在 java 中编写了一个 REST API。当我使用 XML 请求时,一切正常,但当我使用 JSON 请求时,我总是得到 JsonMappingException。 这些对
我使用spring RestTemplate并将json响应转换为pojo。但得到一个 JsonMappingException POJO @Root public class Account { @
我的此类带有一个标有 @JsonCreator 的构造函数,用于将 JSON 字符串反序列化到我的类 Meal 中: public class Meal { private int prote
我的 IDE 在 mapper.readValue 行给我错误 Unhandled Exception com.fasterxml.jackson.databind.JsonMappingExcept
我在 Java 中有一个通用类型的类。它应该在收到一些 json 后返回一个 T 类型的对象。我正在使用以下代码创建对象: ObjectMapper mapper = new ObjectMapper
我有一个用 Java (spring boot) 编写的 rest api,我的请求从请求 header 中获取一个 json 字符串(不要问为什么这样:),例如{flowerId: 123}在我的
我正在尝试向我的网页显示数据库数据。当 GET 请求到 @RequestMapping(value = "/api/binder") 时,我做了以下代码。 但是当获取请求到达此方法时,它会获取数据(我
我正在构建一个使用并返回 JSON 的 RESTful Web 服务。当我尝试通过服务层从数据库中获取 ESRBRating 对象时,我遇到了以下堆栈跟踪。但是,当我将 Spring Data JPA
我在 Camel Route 中遇到了异常 Caused by: com.fasterxml.jackson.databind.JsonMappingException: No serializer
对传递给 ObjectMapper Json 解析器方法的字符串进行 null 和空检查时,出现异常。这是我的代码: private static final ObjectMapper OBJECT_
我正在使用 Retrofit 2 和 jackson 转换器下载并解析此 json `{ "message": "Action complete.", "successCode": 0,
我知道关于我会告诉你的同一个问题有很多问题,但还没有一个能解决我的问题。 我已经实现了一项服务,该服务必须通过延迟加载来访问对象属性。这是类的简化: @Entity public class Trea
我有一个类需要使用 Jackson 从 JSON 反序列化。类结构如下所示: public class A { public B b; } public class B { publi
我尝试反序列化包含空属性并具有 JsonMappingException 的对象。 我的工作: String actual = "{\"@class\" : \"PersonResponse\","
尝试反序列化 JSON 时遇到以下异常 No suitable constructor found for type [simple type, class MyObj$obj$Card]: can
我有一个 Web 应用程序,其中服务器以 JSON 格式返回任何结果。为了创建 JSON,我使用 codehaus Jackson ObjectWriter 版本 1.9.8。 我遇到的问题是映射中有
我在尝试放置“可选实体过滤”时遇到问题。我有一个抽象类,如下所示: // In your Pom org.glassfish.jersey.ext je
尝试使用 @JsonIdentityInfo jackson 注释时出错。当我尝试反序列化对象时,出现以下异常: Could not read JSON: Already had POJO for i
我是一名优秀的程序员,十分优秀!