无法添加或更新子行:外键约束使Hibernate Spring失效

时间:2019-03-14 17:17:24

标签: java mysql spring hibernate jpa

我在使用Spring在MySQL中保存父母和孩子时遇到了问题。保存父实体时,出现主题错误。我在网上搜索,在大多数情况下,解决方案是添加cascadeType,但仍然出现错误。 有人可以帮我吗? 预先感谢!

我有两个实体:

请求

    @Entity
    public class Request {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name="id")
    private long id;

    @OneToMany(mappedBy = "id", cascade = CascadeType.ALL)
    private List<RequestLine> requestLine;
}

RequestLine

@Entity
public class RequestLine {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name="id")
    private long id;

    @ManyToOne
    @JoinColumn(name = "requestId", nullable=false)
    private Request requestId;
}

我将以以下方式保存数据(我删除了两个实体的其他现有参数的所有无用集):

public void saveRequest() {

    Request request = new Request();

    RequestLine requestLine = new RequestLine();

    requestLine.setRequestId(request);

    List<RequestLine> requestLines = new ArrayList<RequestLine>();

    requestLines.add(requestLine);
    request.setRequestLine(requestLines);

    this.requestRepository.saveAndFlush(request);
}

0 个答案:

没有答案