【发布时间】:2021-03-16 08:51:00
【问题描述】:
现在,我有两张桌子。
第一个表(对象表):
RefNo (PK) --> auto ascending
Type
Status
...
第二个表(对象详细表):
RefNo (PK) --> FK reference from 1st Table
PolicyNo
DepNo
...
对象的实体。
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long refnno;
@OneToOne(mappedBy = "obejctTwo")
private ObjectDetail objectDetail;
private String type;
private String status;
ObjectDetail 的实体
@Id
private long refnno;
@OneToOne
@JoinColumn(name = "refnno")
@MapsId
private Object object;
private String policyNo;
private String depNo;
如何使用 jpaRepository for Object 保存对象,其中在对象 JSON 中包含 ObjectDetail,但不知道由 db 自动生成的 refno(PK)。
{
"objectDetail": {
"policyNo": "12345678",
"depNo": "ABC"
},
"type": "new",
"status": "pending"
}
【问题讨论】:
-
你可以使用@OneToOne(cascade = CascadeType.ALL)
-
我试过这个,但还是不行。错误消息:INSERT 语句与 FOREIGN KEY 约束“OBJECTDETAIL_PK”冲突。
标签: database jpa spring-data-jpa entity one-to-one