日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

com.fasterxml.jackson.databind.JsonMappingException: Multiple back-reference properties with name ‘d

發(fā)布時(shí)間:2025/3/21 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 com.fasterxml.jackson.databind.JsonMappingException: Multiple back-reference properties with name ‘d 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

今天在寫SpringBoot + JPA的時(shí)候報(bào)了以下的錯(cuò)誤

com.fasterxml.jackson.databind.JsonMappingException: Multiple back-reference properties with name ‘defaultReference’

說(shuō)明:

如果在項(xiàng)目中的getter / setter方法中使用@JsonBackReference兩次以上,那么您應(yīng)該將它們與特定的引用名稱進(jìn)行區(qū)分.在最新版本中只允許使用一個(gè)“defaultReference”.

所以請(qǐng)看代碼

SysUser表跟SysUserRole表有關(guān)聯(lián)關(guān)系
SysUser表跟SysPlan表有關(guān)聯(lián)關(guān)系
請(qǐng)看代碼中的這兩個(gè)注解

@JsonBackReference(value="user-role")對(duì)應(yīng)SysUserRole表也有一個(gè)一樣的注解在setSys_user()方法上 @JsonBackReference(value="user-span")對(duì)應(yīng)SysPlan表也有一個(gè)一樣的注解在setSys_user()方法上

SysUser表

@Entity //實(shí)體與表名對(duì)應(yīng) @Table(name = "sys_user") public class SysUser {@Id@Column(name = "user_id")private String userId;//用戶編號(hào)(人員編號(hào)(實(shí)驗(yàn)室助理)等)private String userName;//用戶名private String password;//密碼private String major;//專業(yè)private String institute;//學(xué)院private String classes;//班級(jí)private String grade;//年級(jí)private String telephone;//手機(jī)號(hào)private String email;//郵箱private String imageId;//個(gè)人照片private String labId;//所屬實(shí)驗(yàn)室/*配置一對(duì)多的關(guān)系-----Sys_User_Rolecascade設(shè)置級(jí)聯(lián)屬性,同步添加,同步刪除*/@OneToMany(targetEntity = SysUserRole.class,cascade = CascadeType.ALL)@JoinColumn(name = "user_id",referencedColumnName = "user_id")//name代表外鍵的名稱,referencedColumnName代表的是主表即當(dāng)前表的主鍵名稱private Set<SysUserRole> sys_user_roles = new HashSet<SysUserRole>();@OneToMany(mappedBy = "sysUser")//放棄外鍵的維護(hù)private Set<SysPlan> sysPlans = new HashSet();public String getUserId() {return userId;}public void setUserId(String userId) {this.userId = userId;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getMajor() {return major;}public void setMajor(String major) {this.major = major;}public String getInstitute() {return institute;}public void setInstitute(String institute) {this.institute = institute;}public String getClasses() {return classes;}public void setClasses(String classes) {this.classes = classes;}public String getGrade() {return grade;}public void setGrade(String grade) {this.grade = grade;}public String getTelephone() {return telephone;}public void setTelephone(String telephone) {this.telephone = telephone;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getImageId() {return imageId;}public void setImageId(String imageId) {this.imageId = imageId;}public String getLabId() {return labId;}public void setLabId(String labId) {this.labId = labId;}public Set<SysUserRole> getSys_user_roles() {return sys_user_roles;}@JsonBackReference(value="user-role")public void setSys_user_roles(Set<SysUserRole> sys_user_roles) {this.sys_user_roles = sys_user_roles;}public Set<SysPlan> getSysPlans() {return sysPlans;}@JsonBackReference(value="user-span")public void setSysPlans(Set<SysPlan> sysPlans) {this.sysPlans = sysPlans;} }

SysUserRole表

@Entity @Table(name = "sys_user_role") public class SysUserRole {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Integer id;//主鍵idprivate Integer roleId;//用戶類型(1:實(shí)驗(yàn)技術(shù)員,2:實(shí)驗(yàn)室助理,:學(xué)工處人員;4系統(tǒng)用戶(學(xué)生))//配置多對(duì)一關(guān)系--Sys_user@ManyToOne(targetEntity = SysUser.class,fetch = FetchType.LAZY)@JoinColumn(name = "user_id",referencedColumnName = "user_id")private SysUser sys_user;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public Integer getRoleId() {return roleId;}public void setRoleId(Integer roleId) {this.roleId = roleId;}public SysUser getSys_user() {return sys_user;}@JsonBackReference(value="user-role")public void setSys_user(SysUser sys_user) {this.sys_user = sys_user;}}

SysPlan表

@Entity @Table(name = "sys_plan") public class SysPlan {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "recruit_id")private Integer recruitId;private String recruitName;private String positionRequire;private Integer recruitNum;private String positionName;private Integer state;private Integer enrolledNum;// private Integer userId;@ManyToOne(targetEntity = SysUser.class,fetch = FetchType.LAZY)@JoinColumn(name = "user_id",referencedColumnName = "user_id")private SysUser sysUser;// private Set<SysEnroll> sysEnrolls = new HashSet();public SysPlan() {}public Integer getRecruitId() {return recruitId;}public void setRecruitId(Integer recruitId) {this.recruitId = recruitId;}public String getRecruitName() {return recruitName;}public void setRecruitName(String recruitName) {this.recruitName = recruitName;}public String getPositionRequire() {return positionRequire;}public void setPositionRequire(String positionRequire) {this.positionRequire = positionRequire;}public Integer getRecruitNum() {return recruitNum;}public void setRecruitNum(Integer recruitNum) {this.recruitNum = recruitNum;}public String getPositionName() {return positionName;}public void setPositionName(String positionName) {this.positionName = positionName;}public Integer getState() {return state;}public void setState(Integer state) {this.state = state;}public Integer getEnrolledNum() {return enrolledNum;}public void setEnrolledNum(Integer enrolledNum) {this.enrolledNum = enrolledNum;}public SysUser getSysUser() {return sysUser;}@JsonBackReference(value="user-span")public void setSysUser(SysUser sysUser) {this.sysUser = sysUser;}/* public Integer getUserId() {return userId;}public void setUserId(Integer userId) {this.userId = userId;}*/ }

既然使用了多次JsonBackReference()注解,那么我們就要加以區(qū)分

總結(jié)

以上是生活随笔為你收集整理的com.fasterxml.jackson.databind.JsonMappingException: Multiple back-reference properties with name ‘d的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。