为了账号安全,请及时绑定邮箱和手机立即绑定

Spring数据JPA保存更新父实体

Spring数据JPA保存更新父实体

临摹微笑 2021-05-11 20:16:29
学生.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)}
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 190 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信