【发布时间】:2016-03-17 19:09:28
【问题描述】:
我在尝试删除记录时遇到外键违规问题。
我有这个记录:
@Entity
public class Parent {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long parentId;
@OneToOne(cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name = "childId")
private Child child;
和
@Entity
@Table(name = "Child")
public class Child {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long childId;
public Long getOperatoryId() {
return id;
}
当我尝试删除孩子时,我遇到了密钥违规,因为有一些父记录指向孩子。我想我可以先删除父母,然后去删除孩子:
parentRepository.delete(父)
但我收到一个错误,即属性 ID 不存在于子级。这是因为子id被命名为childId而不是id吗?
【问题讨论】:
标签: spring-data spring-data-jpa