今天在写SpringBoot + JPA的时候报了以下的错误

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

说明:

如果在项目中的getter / setter方法中使用@JsonBackReference两次以上,那么您应该将它们与特定的引用名称进行区分.在最新版本中只允许使用一个“defaultReference”.

所以请看代码

SysUser表跟SysUserRole表有关联关系
SysUser表跟SysPlan表有关联关系
请看代码中的这两个注解

@JsonBackReference(value="user-role")对应SysUserRole表也有一个一样的注解在setSys_user()方法上
@JsonBackReference(value="user-span")对应SysPlan表也有一个一样的注解在setSys_user()方法上

SysUser表

@Entity
//实体与表名对应
@Table(name = "sys_user")
public class SysUser {@Id@Column(name = "user_id")private String userId;//用户编号(人员编号(实验室助理)等)private String userName;//用户名private String password;//密码private String major;//专业private String institute;//学院private String classes;//班级private String grade;//年级private String telephone;//手机号private String email;//邮箱private String imageId;//个人照片private String labId;//所属实验室/*配置一对多的关系-----Sys_User_Rolecascade设置级联属性,同步添加,同步删除*/@OneToMany(targetEntity = SysUserRole.class,cascade = CascadeType.ALL)@JoinColumn(name = "user_id",referencedColumnName = "user_id")//name代表外键的名称,referencedColumnName代表的是主表即当前表的主键名称private Set<SysUserRole> sys_user_roles = new HashSet<SysUserRole>();@OneToMany(mappedBy = "sysUser")//放弃外键的维护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:实验技术员,2:实验室助理,:学工处人员;4系统用户(学生))//配置多对一关系--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()注解,那么我们就要加以区分

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

  1. 【jackson 异常】com.fasterxml.jackson.databind.JsonMappingException异常处理

    项目中,父层是Gene.java[基因实体]  子层是Corlib.java[文集库实体],一种基因对用多个文集库文章 但是在查询文集库这个实体的时候报错:[com.fasterxml.jackson ...

  2. 【jackson异常】com.fasterxml.jackson.databind.JsonMappingException异常处理方法

    项目中,父层是Car.java[车辆实体] 子层是CarCommonParam.java[车辆基本信息实体],一种车辆对用多个车辆的基本信息 但是在查询文集库这个实体的时候报错:[com.faster ...

  3. com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input

    作者原创,转载请注明转载地址 第一次遇到该异常,在网上搜了很长时间也没找到解决答案,特此记录 1.异常展示: com.fasterxml.jackson.databind.JsonMappingExc ...

  4. 【jackson 异常】com.fasterxml.jackson.databind.JsonMappingException异常处理

    [jackson 异常]com.fasterxml.jackson.databind.JsonMappingException异常处理 参考文章: (1)[jackson 异常]com.fasterx ...

  5. com.fasterxml.jackson.databind.JsonMappingException: No suitable constructor

    java报错:com.fasterxml.jackson.databind.JsonMappingException: No suitable constructor 解决:加上static就好 参考 ...

  6. SQL长度:fasterxml.jackson.databind.JsonMappingException: Numeric value () out of range of int

    在做资金清退管理系统Demo的时候,采用Mysql数据库,定义了一张表,存储身份证号,类型是int,长度是20,结果插入数据的时候,报错长度超长: 身份证号18位,定义20位长,为什么会长度不够呢?我 ...

  7. 报错,nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException??

    1. 问题: 2021-01-06 15:43:41.663 ERROR 10184 --- [io-13000-exec-2] c.y.a.c.v1.retcode.RetControlller   ...

  8. com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field FileSize

    请求阿里云的OSS接口图片信息,返回json格式的数据,通过ObjectMapper将json转为Image对象时候报错转换失败 将json转对象的代码: String jsonStr = " ...

  9. jackson序列化错误 get类型方法名的坑 [com.fasterxml.jackson.databind.exc.InvalidDefinitionException]

    错误:com.fasterxml.jackson.databind.exc.InvalidDefinitionException com.fasterxml.jackson.databind.exc. ...

最新文章

  1. 每日一皮:CPU的新用途,要不要试试?
  2. 多线程和Socket——在线聊天室
  3. oracle数据库优化,访问oracle视图数据很慢
  4. Leetcode-184. 部门工资最高的员工
  5. 考研结束后去政审时穿的鞋子
  6. C#开发和使用中的23个技巧
  7. 外点惩处函数法·约束优化问题
  8. 计算机学院足球队 英语怎么说,计算机学院举办2018届毕业生足球赛
  9. 不会开会,就管不好工作
  10. Sun发布MySQL 5.4 响应速度提升90% ?
  11. 计算机上面的清除键是什么符号,电脑上删除键是哪一个
  12. 使用DebenuPDFLibrary导出微信中的照片
  13. matlab指南针的例子,小米指南针源码
  14. 域控服务器共享盘搭建,搭建域控服务器
  15. Pacman基本使用
  16. React-SSR-Nextjs
  17. C语言中abs和fabs的区别
  18. markdown使用及快捷键
  19. 火狐浏览器Firefox上DownThemAll插件
  20. 前端知识点整理(待续)

热门文章

  1. MapReduce之单词计数
  2. Javascript在页面加载时的执行顺序
  3. 2008!新的开始!
  4. 高流量大并发Linux TCP性能调优
  5. Socket send函数和recv函数详解
  6. 数据中心加速,一文说清FPGA与GPU、ASIC目前的竞争格局
  7. SSD+HDD双硬盘+MSI主板win8.1+ubuntu17.04双系统安装总结
  8. VC++ 进程间通信方法总结
  9. VC实现HTTP协议的GET和POST方法
  10. 论文笔记:Distilling the Knowledge