有一个父表批和一个子表块。现在我想要lot->lot\u id作为块表的外键。我为lot和block进行了两个api调用get/post。
api/公园/地段和api/公园/街区
当我为块(api/park/blocks)创建一个记录时,它就会被创建。但是当我通过lot进行api调用get(api/park/lots)时,我无法获得child(block)记录
下面是示例json
{“lot\u id”:“1001”,“name”:“newlot”,
"parkingBlocks": [],
"availability": {
"available_spots": 50,
"occupied_spots": 2,
"unknown_spots": 0,
"competitors": 0
}
}
尽管我在get请求中有一个id为'2001'的块,但无法检索该块中的批'1001'
标段实体 code
@id私有字符串lot\u id;私有字符串名称=“”;
@OneToMany(targetEntity = ParkingBlock.class,cascade = CascadeType.ALL, orphanRemoval = true)
private List<ParkingBlock> parkingBlocks = new ArrayList<>();
block@id private string block\u id的实体;
//THIS IS THE FOREIGN KEY I CREATED MANUALLY
@OneToOne(targetEntity = ParkingLot.class, cascade = CascadeType.ALL, optional = false)
@JoinColumn(name = "lot_id")
private String lot_id;
@ManyToOne(targetEntity = ParkingLot.class, cascade = CascadeType.ALL, optional = false)
private ParkingLot parkingLot;
//accessors
``` `code` 批次id未保存在db中
1条答案
按热度按时间czq61nw11#
考虑这样做:
在关系中添加@joincolumn到orm知道如何在表之间进行连接。
为了保存两个表,请尝试在块的每个示例中设置lot示例,以便orm检测到两个实体都已连接,并首先插入lot,然后使用块实体中使用的lot的id