java - ORA - 01400:无法插入到具有复合键的空(一对多双向)JPA
问题描述
当我尝试保存子表时,触发的插入查询不包含外键字段。JPA 触发的插入查询不包含外键列。以下是模型及其组合键类:
@Embeddable
public class EwpPk implements Serializable {
private static final long serialVersionUID = -3231628074628968344L;
@Column(name = "ewp_sid", nullable = false)
private Long sid
@Column(name = "PRTN_KEY", nullable = false)
private Date partitionDate;
@Column(name = "SUB_PRTN_SEQ_NUM", nullable = false)
private int sequenceNumber;
}
@Table(name = "EWP")
public class Ewp implements Serializable {
private static final long serialVersionUID = 7232535288636665348L;
@EmbeddedId
private EwpPk modelid;
@ManyToOne(targetEntity = Eap)
@MapsId("e_modelid")
@joinColumns({
@JoinColumn(name="eap_sid", nullable=false),
@JoinColumn(name="PRTN_KEY", nullable=false),
@JoinColumn(name="SUB_PRTN_SEQ_NUM", nullable=false)
})
private Eap eap;
public class EnrolledAccountRangePartitionedModel implements Serializable {
private static final long serialVersionUID = 700193113967839613L;
@EmbeddedId
private EapPk e_modelid;
@OneToMany(targetEntity = Ewp.class, cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.EAGER, mappedBy = "eap")
private list<Ewp> ewpList;
}
@Embeddable
public class EapPk implements Serializable {
private static final long serialVersionUID = -4696018718017450273L;
@Column(name = "Eap_sid", nullable = false)
private Long eapsid;
@Column(name = "PRTN_KEY", nullable = false)
private Date partitionDate;
@Column(name = "SUB_PRTN_SEQ_NUM", nullable = false)
private int sequenceNumber;
我收到此错误 ORA - 01400 : Cannot Insert into null
解决方案
推荐阅读
- android - Ruffle 在移动浏览器(Chrome)上不起作用
- javascript - Material UI Collapse 从页面顶部滑动
- sql - 在 SQL 中获取 MERGE Conflit。使用与源和目标相同的表
- javascript - 图像最大裁剪百分比
- javascript - Fusion Charts Timeseries:图表和时间导航器在视觉上不同步
- javascript - 随时间添加转向时间线
- javascript - 如何将对象对象的对象解构为对象的对象?
- typescript - 为什么我不能将扩展运算符与 Typescript 和 RXJS 管道一起使用?
- ios - MultiPeerConnectivity 以编程方式
- python - 在保留原始行的同时对数据框组进行排序