我有以下课程:
学生 -
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String fName;
private String lName;
private String mName;
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "id")
private Set<Phone> phones;
电话 -
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int phoneId;
private int phoneNumber;
所以,我的电话表将有一个引用学生表的外键。现在,如果我进行创建,它适用于 Student 和 Phone 表中的每一行。
但是,如果我进行更新,比如稍后为学生添加一个 mname,它会在电话表中创建另一行,其数据与第一行相同,但现在第二行将引用电话表和第一行外键一片空白。
我想保持上述模式不变。我希望只有在真正发生变化时才在 Phone 表中创建该行。我怎样才能做到这一点?请指教。
谢谢