学生.java@Entity@Table(name = "Student")@Data@NoArgsConstructorpublic class Student implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @OneToMany(mappedBy = "studentId", cascade = CascadeType.ALL) private List<Subject> subjectList = new ArrayList<>(); public void addSubject(Subject subject) { subjectList.add(subject); subject.setStudentId(this); } @Column(name = "firstName") private String firstName; @Column(name = "lastName") private String lastName;}Subject.java@Entity@Table(name = "Subject")@Data@NoArgsConstructorpublic class Subject implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name="studentId", nullable = false) private Student studentId; @Column(name = "subjectName") private String subjectName; @Column(name = "subjectCode") private int subjectCode;}SubjectRepository.java@Repositorypublic interface SubjectRepository extends JpaRepository<Subject, Long> {}如上面的代码结构所示,我有2个实体(Student,Subject)和一个存储库类(SubjectRepository)。当我尝试保存到“主题”表中时,数据库中的“学生”表中的学生姓名“ Thomas”也会以某种方式得到更新。我只想插入Subject表,而没有更新Student表中的任何值。需要一些帮助。谢谢!public static void main(String[] args) { @Autowired protected SubjectRepository subjectRepository; Student student = new Student(); student.setFirstName("Thomas"); Subject subject = new Subject(); subject.setSubjectName("Chemistry"); subject.setSubjectCode(12345); student.addSubject(subject) subjectRepository.save(subject)}
添加回答
举报
0/150
提交
取消