【发布时间】:2021-10-17 21:31:51
【问题描述】:
我正在尝试以一对一的关系插入 Voc、Recovery 类。
Voc 将首先插入,它的 pk 将进入 Recovery 类,因为它是外键。 (和Recovery类的PK一样使用)
这是 Voc 类,它是父类。
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name="voc")
public class Voc {
@Id
@Column(name="id")
@GeneratedValue(strategy=GenerationType.IDENTITY)
int id;
@OneToOne(mappedBy="voc", cascade=CascadeType.ALL)
Recovery recovery;
// some other variables...
}
这是恢复班,这是孩子。
@Data
@Entity
@Table(name="recovery")
public class Recovery {
@Id
@Column(name="voc_id")
@GeneratedValue(strategy=GenerationType.IDENTITY)
int vocId;
@OneToOne
@PrimaryKeyJoinColumn(name="voc_id")
Voc voc;
// some other variables...
}
我正在尝试从this中走3号路。
但是当我调用 JpaRepository 的 save() 方法时,它会抛出错误消息 'Field 'voc_id' doesn't have a default value'。
我错过了什么?
还是有比这更好的方法来制作我想要的东西?
【问题讨论】: