我有一个叫做“回顾”的实体 @OneToMany
与某人的关系 ReviewStage
实体。在我看来很简单。
我的数据库如下所示: Review
表格:
审阅\u id
名称 Stage
表格:
阶段id
审阅\u id
名称 Review
实体:
@Entity
@Getter @Setter @NoArgsConstructor
public class Review {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long reviewId;
private String name;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "reviewId", fetch=FetchType.EAGER)
private Set<ReviewStage> stages;
}
``` `ReviewStage` 实体:
@Entity
@Getter @Setter @NoArgsConstructor
public class ReviewStage {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long stageId;
private Long reviewId;
private String name;
}
我将以下json发布到我的服务中:
{
"reviewId": 0,
"name": "TEST",
"stages": [{
"stageId": 0,
"reviewId": 0,
"name": "Stage 1"
}]
}
jdbc错误:com.microsoft.sqlserver.jdbc.sqlserverexception:insert语句与外键约束“fk\u er\u review\u stage\u er\u review”冲突。冲突发生在数据库“ereviewdev”、表“dbo.review”、列“review\u id”中。
我错过了什么?我试着把 `@Transactional` 在我的服务课上,但没有任何影响。看起来很简单。
1条答案
按热度按时间z4iuyo4d1#
以下Map:
假设您有以下子级。
但你有:
编辑一个示例,说明如何保存新的
Review
: