【发布时间】:2017-10-13 20:35:17
【问题描述】:
当我尝试将一个实体与多个实体映射时出现此错误..
/// 这是我的候选人资料实体/////////
包 com.demo.project.premiumjobportal.model; 导入 java.io.Serializable; 导入 java.util.List; 导入 javax.persistence.CascadeType; 导入 javax.persistence.Column; 导入 javax.persistence.Entity; 导入 javax.persistence.FetchType; 导入 javax.persistence.GeneratedValue; 导入 javax.persistence.Id; 导入 javax.persistence.ManyToOne; 导入 javax.persistence.OneToMany; 导入 javax.persistence.Table; 导入 javax.validation.constraints.NotNull; 导入 javax.xml.bind.annotation.XmlRootElement; 导入 com.fasterxml.jackson.annotation.JsonBackReference; 导入 com.fasterxml.jackson.annotation.JsonIgnoreProperties; //候选人明细表:主表 @实体 @Table(name="candidate_profile") @JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) @XmlRootElement 公共类 CandidateProfile 实现 Serializable { 私有静态最终长序列版本UID = 1L; @ID @GeneratedValue 私人 int id; @NotNull @Column(name="first_name", 长度 = 25) 私人字符串名; @NotNull @Column(name="last_name", 长度 = 25) 私人字符串姓氏; @NotNull @Column(name="用户名", 长度 = 50) 私人字符串用户名; @Column(name="alt_email_id", 长度 = 50) 私人字符串alternateEmailId; @NotNull @Column(name="mobile_no", 长度 = 15) 私有字符串 mobileNum; @Column(name="alt_mobile_no", 长度 = 15) 私人字符串备用移动号码; @Column(name="ssc_board", 长度 = 50) 私有字符串 sscBoard; @Column(name="ssc_school", 长度 = 50) 私人字符串 sscSchool; @Column(name="ssc_percent", 长度 = 4) 私人浮动 sscPercentage; @Column(name="ssc_year_of_passout", 长度 = 4) 私人 int sscYearOfPassout; @Column(name="hsc_board", 长度 = 50) 私有字符串 hscBoard; @Column(name="hsc_school", 长度 = 50) 私人字符串 hscSchool; @Column(name="hsc_percent", 长度 = 4) 私人浮动 hscPercentage; @Column(name="hsc_year_of_passout", 长度 = 4) 私人 int hscYearOfPassout; @Column(name="grad_university", 长度 = 100) 私立弦乐研究生大学; @Column(name="grad_institute", 长度 = 100) 私人字符串 gradiduteInstitute; @Column(name="grad_percent", 长度 = 4) 私人浮动毕业百分比; @Column(name="grad_year_of_passout", 长度 = 4) 私人int gradiduteYearOfPassout; @Column(name="postgrad_university", 长度 = 100) 私人字符串 postGradiduteUniversity; @Column(name="postgrad_institute", 长度 = 100) 私人字符串 postGradiduteInstitute; @Column(name="postgrad_percent", 长度 = 4) 私人浮动 postGradidutePercentage; @Column(name="postgrad_year_of_passout", 长度 = 4) 私人 int postGradiduteYearOfPassout; 私有字符串注释; 私人字符串密码; @OneToMany(mappedBy = "candidateProfile", fetch = FetchType.LAZY,cascade = CascadeType.REMOVE) @JsonBackReference 私单体验详情; @OneToMany(mappedBy = "candidateProfile", fetch = FetchType.LAZY,cascade = CascadeType.REMOVE) @JsonBackReference 私人名单候选人工作; @ManyToOne 私人角色角色名称; /* 构造函数 */ 公共候选人档案(){ 极好的(); } // 获取器和设置器/// 这是我的体验详情实体 ///////////
包 com.cfa.project.premiumjobportal.model; 导入 java.io.Serializable; 导入 javax.persistence.Column; 导入 javax.persistence.Entity; 导入 javax.persistence.GeneratedValue; 导入 javax.persistence.Id; 导入 javax.persistence.ManyToOne; 导入 javax.persistence.Table; 导入 javax.xml.bind.annotation.XmlRootElement; 导入 com.fasterxml.jackson.annotation.JsonIgnoreProperties; //体验类,与CandidateProfile.class相连 @实体 @Table(name="experience_details") @JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) @XmlRootElement 公共类 ExperienceDetails 实现 Serializable { 私有静态最终长序列版本UID = 1L; @ID @GeneratedValue 私人 int id; @Column(name = "tot_experenice", 长度 = 2) 私人字符串 totExperience; @Column(name = "companies_month_experience") 私人弦乐公司月体验; @Column(name = "技能") 私人字符串_skills; @Column(name = "extra_curricular") 私人字符串课外; 私有字符串注释; /* 映射:加入候选表 */ @ManyToOne 私人候选人简介候选人简介; /*构造函数*/ 公共体验详情(){ 极好的(); } /*使用字段的构造函数*/ /** * @param id * @param totExperience * @param CompaniesMonthExperience * @param _skills * @param 课外 * @param 注释 * @param 候选人档案 */ public ExperienceDetails(int id, String totExperience, String CompaniesMonthExperience, String _skills, 字符串课外,字符串注释,CandidateProfile CandidateProfile) { 极好的(); 这个.id = id; this.totExperience = totExperience; this.companiesMonthExperience = CompaniesMonthExperience; this._skills = _skills; this.extraCurricular = 课外; this.notes = 注释; this.candidateProfile = 候选人简介; } /* 生成 Getter 和 setter *//// 这是我的角色实体 //////
导入 java.io.Serializable; 导入 java.util.List; 导入 javax.persistence.CascadeType; 导入 javax.persistence.Column; 导入 javax.persistence.Entity; 导入 javax.persistence.FetchType; 导入 javax.persistence.GeneratedValue; 导入 javax.persistence.Id; 导入 javax.persistence.OneToMany; 导入 javax.persistence.Table; 导入 javax.xml.bind.annotation.XmlRootElement; 导入 com.fasterxml.jackson.annotation.JsonBackReference; 导入 com.fasterxml.jackson.annotation.JsonIgnoreProperties; @实体 @Table(name="角色") @JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) @XmlRootElement 公共类角色实现可序列化{ 私有静态最终长序列版本UID = 1L; @ID @GeneratedValue 私人 int id; @Column(长度 = 10) 私有字符串名称; @OneToMany(mappedBy = "roleName", fetch = FetchType.LAZY,cascade = CascadeType.REMOVE) @JsonBackReference 私人名单候选人档案; @OneToMany(mappedBy = "companyRoleName", fetch = FetchType.LAZY,cascade = CascadeType.REMOVE) @JsonBackReference 私人名单招聘人员详情;这个错误我得到了----------------
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'
请帮我解决这个问题。我到处搜索并尝试了所有解决方案,但后来我也收到了这个错误。
【问题讨论】: