【发布时间】:2020-02-01 12:25:59
【问题描述】:
我的 Spring Boot App 数据休息中有 3 个实体,Appusers、Teacher 和 Student
-
应用用户
@Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name= "appuserId", updatable=false) private Long appuserId; @Column(name = "username") private String username; @Column(name = "fullname") private String fullName; @Column(name = "email") private String email; @Column(name = "password") private String password; @OneToOne(mappedBy = "appuser") private Teacher teacher; @OneToOne(mappedBy = "appuser") private Student student; -
老师
@Id @GeneratedValue(strategy=GenerationType.AUTO) @Column(name = "teacherId" , updatable = false) private Long teacherId; @Column(name= "firstname") private String firstName; @Column(name = "lastname") private String lastName; @Column(name="designation") private String designation; @OneToOne(cascade = CascadeType.ALL) @JoinColumn(name = "appuserId", nullable = true) private Appuser appuser; @OneToMany(cascade = CascadeType.ALL, orphanRemoval=true ,mappedBy="teacher") @JsonIgnore private List<Course> courses; -
学生
@Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name= "studentId", updatable=false) private Long studentId; @Column(name = "firstName") private String firstName; @Column(name = "lastName") private String lastName; @Column(name = "enrolledSince") private String enrolledSince; @OneToOne(cascade = CascadeType.ALL) @JoinColumn(name = "appuserId", nullable = false) private Appuser appuser; @OneToMany(cascade = CascadeType.ALL,orphanRemoval=true, mappedBy="student") @JsonIgnore private List<CourseStudent> courseStudents;
我可以在邮递员中使用 json 格式插入 appusers 表,并且运行良好。但是当我尝试在教师或学生表中插入时,appusers 中的结果为空。它不应该为空,因为教师和学生是应用程序用户的外键。
【问题讨论】:
标签: spring spring-boot spring-data-jpa postman spring-data-rest