如何解决使用CascadeType.PERSIST将外键插入为空-Spring Data Jpa
我有两个表Parent和Child。它们之间具有一对一的关系。当我保存父表时,它也应该插入子表中。插入了一个子表,但该子表中的外键为空。我希望外键是从父表中自动生成的值。
我正在使用Postgres数据库。
这是我的实体关系:
@Table(name = "`PARENT`")
@Setter
@Getter
@Entity
public class Parent{
@Id
@Column(name = "`RPT_PARM_ID`")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
//Other column mappings.
@OneToOne(mappedBy = "parent",cascade = { CascadeType.DETACH,CascadeType.MERGE,CascadeType.REFRESH,CascadeType.PERSIST })
private Child child;
}
@Entity
@Table(name = "`CHILD`")
@Setter
@Getter
public class Child {
@Id
@Column(name = "`ID`")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
//Other column mappings
@OneToOne(optional = false,CascadeType.PERSIST })
@JoinColumn(name = "`PARAM_ID`",referencedColumnName ="`RPT_PARM_ID`" )
private Parent parent;
}
//This is how I save the code
pubilc void save(){
Parent parent = new Parent();
//set other fields for parent.
Child child =new Child();
//set other fields in child.
parent.setChild(child);
repository.save(parent);
}
在子表中,PARAM_ID插入为空,但是我想要RPT_PARM_ID中的列值(此值是自动生成的)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。