为具有多对一关系的列保存对象时出错

valor1100

这是我的学校实体。

@Entity
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")

public class School{

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column
    private Long id;

    @Column
    private String name;

    @JsonManagedReference
    @OneToMany(mappedBy = "school", cascade = CascadeType.ALL)
    private Set<Teacher> Teachers= new HashSet<>();

//constructor, getter and setter

这是我的老师课

@Entity
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")

public class Teacher{

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column
    private Long id;

    @Column
    private String userId;

    @ManyToOne
    @JoinColumn(name = "SCHOOL_ID")
    @JsonProperty("schoolId")
    @JsonBackReference
    private School school;

//constructor, getter and setter

我的老师长像这样

    @ApiOperation(value = "Create new teacher", response = Teacher.class)
    @ApiParam
    @RequestMapping(value = "/teacher", method = RequestMethod.POST)
    public Teacher createTeacher(@RequestBody Teacher t) {      
        return teacherService.saveTeacher(t);
    }

我的服务仅调用CrudRepository保存方法。

    public Teacher saveTeacher(Teacher t) {
        return teacherRepository.save(t);

    }

这就是创建老师时JSON的样子。我的数据库中存在一个id = 1的学校对象

{
    "userId":"jDoe",
    "schoolId":1
}

这是我得到的错误

 Could not resolve parameter [0] in public com.lace.schoolApp.model.Teacher com.lace.schoolApp.controller.TeacherController.createTeacher(com.lace.schoolApp.model.Teacher): JSON parse error: Unresolved forward references for: ; nested exception is com.fasterxml.jackson.databind.deser.UnresolvedForwardReference: Unresolved forward references for: 
 at [Source: (PushbackInputStream); line: 7, column: 1]Object id [1] (for `com.lace.schoolApp.model.School`) at [Source: (PushbackInputStream); line: 5, column: 16].
2021-02-10 17:04:11.959  WARN 11628 --- [nio-8090-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unresolved forward references for: ; nested exception is com.fasterxml.jackson.databind.deser.UnresolvedForwardReference: Unresolved forward references for: 
 at [Source: (PushbackInputStream); line: 7, column: 1]Object id [1] (for `com.lace.schoolApp.model.School`) at [Source: (PushbackInputStream); line: 5, column: 16].]
SSK

你需要获取使用学校的详细信息schoolId的请求负载通过从scholRepository你的第一个teacherService
然后将学校对象设置为教师并保存

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
public class TeacherService{

@Autowired
private SchoolRepository schoolRepository;

@Autowired
private TeacherRepository teacherRepository;

@Transactional
public Teacher saveTeacher(Teacher t) {

        School school = schoolRepository.findById(t.getschool().getId()); // schoolId from request //Fetch school details
        t.setSchool(school); // set school details.
        return teacherRepository.save(t); // save teacher details with existing school

    }
}
{
    "userId":"jDoe",
    "schoolId":{
       "id":1
       }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为具有多对一关系的列保存对象时出错

来自分类Dev

保存具有多对一关系的Django ORM对象时出现问题

来自分类Dev

symfony3:为具有多对一关系的列的实体创建表单

来自分类Dev

使用Thymeleaf发布具有多对一关系的数据

来自分类Dev

在Postgresql中创建具有多对一关系的表

来自分类Dev

如何正确连接具有多对一关系的表

来自分类Dev

Django与现有对象的多对一关系

来自分类Dev

为多对一关系生成模式

来自分类Dev

需要使用awk在具有多对一关系的两列的基础上过滤数据

来自分类Dev

具有一对多/多对一关系的POJO数据(JDBC)

来自分类Dev

具有一对多/多对一关系的POJO数据(JDBC)

来自分类Dev

Rails嵌套属性形式:创建具有多对多关系的对象时出错

来自分类Dev

具有两个多对一关系的实体关系

来自分类Dev

Java Spring Hibernate:尝试实现多对一关系时出错

来自分类Dev

按日期获取具有多对一关系的多个表的最后一条记录

来自分类Dev

根据该关系从具有一对多和多对一关系的表中查询数据

来自分类Dev

JPA:如何保存具有一对一关系的两个实体?

来自分类Dev

如何使用Hibernate保存具有一对一关系的两个类?

来自分类Dev

对具有一对一关系的模型的更改未保存

来自分类Dev

EF代码优先:具有多个多对一关系的实体类型

来自分类Dev

如何使用休眠Lucene搜索具有多对一关系的实体

来自分类Dev

Symfony主义查询生成器查找具有多对一关系的实体

来自分类Dev

Zend2-Doctrine2:创建具有多对一关系的新实体

来自分类Dev

EF代码优先:具有多个多对一关系的实体类型

来自分类Dev

Ruby on Rails中具有多对一关系的模型中的“显示”和“索引”路由问题

来自分类Dev

实体框架以一对一关系添加新记录,而对象具有 ID

来自分类Dev

Django Rest Framework 3.0:保存嵌套的多对一关系

来自分类Dev

JPA多对一关系-仅需保存ID

来自分类Dev

Django,当多个模型与用户具有一对一关系时

Related 相关文章

  1. 1

    为具有多对一关系的列保存对象时出错

  2. 2

    保存具有多对一关系的Django ORM对象时出现问题

  3. 3

    symfony3:为具有多对一关系的列的实体创建表单

  4. 4

    使用Thymeleaf发布具有多对一关系的数据

  5. 5

    在Postgresql中创建具有多对一关系的表

  6. 6

    如何正确连接具有多对一关系的表

  7. 7

    Django与现有对象的多对一关系

  8. 8

    为多对一关系生成模式

  9. 9

    需要使用awk在具有多对一关系的两列的基础上过滤数据

  10. 10

    具有一对多/多对一关系的POJO数据(JDBC)

  11. 11

    具有一对多/多对一关系的POJO数据(JDBC)

  12. 12

    Rails嵌套属性形式:创建具有多对多关系的对象时出错

  13. 13

    具有两个多对一关系的实体关系

  14. 14

    Java Spring Hibernate:尝试实现多对一关系时出错

  15. 15

    按日期获取具有多对一关系的多个表的最后一条记录

  16. 16

    根据该关系从具有一对多和多对一关系的表中查询数据

  17. 17

    JPA:如何保存具有一对一关系的两个实体?

  18. 18

    如何使用Hibernate保存具有一对一关系的两个类?

  19. 19

    对具有一对一关系的模型的更改未保存

  20. 20

    EF代码优先:具有多个多对一关系的实体类型

  21. 21

    如何使用休眠Lucene搜索具有多对一关系的实体

  22. 22

    Symfony主义查询生成器查找具有多对一关系的实体

  23. 23

    Zend2-Doctrine2:创建具有多对一关系的新实体

  24. 24

    EF代码优先:具有多个多对一关系的实体类型

  25. 25

    Ruby on Rails中具有多对一关系的模型中的“显示”和“索引”路由问题

  26. 26

    实体框架以一对一关系添加新记录,而对象具有 ID

  27. 27

    Django Rest Framework 3.0:保存嵌套的多对一关系

  28. 28

    JPA多对一关系-仅需保存ID

  29. 29

    Django,当多个模型与用户具有一对一关系时

热门标签

归档